0

所以我制作了一个非常基本的脚本,它使用了 getopt 和 if 语句。

所以如果我输入:

 sh MyScript -e h e

它会回显:

  he

如果我输入:

 sh MyScript -o h e

它会回显:

 eh

它可以用任何字母组合来做到这一点。它是一个非常基本的程序,没有用,但我刚刚开始学习 UNIX。无论如何,如果它键入:

sh MyScript -o

我将收到一条错误消息(如果我使用 -e 则相同)。如何删除(或重定向)此错误消息?

提前致谢!

4

1 回答 1

1

有很多方法可以做到这一点,您始终可以在 getopts 语句之后立即检查您从 getopts 命令分配值的变量是否为空,

if [-z "${VAR}"]
then
    echo "input value null, exiting"
    exit
else
   <statements>
fi;

-z 选项在变量为空时为 True,否则为 False。希望这可以帮助

于 2013-06-17T22:40:03.610 回答