重定向IF语句生成的错误消息。 UNIX Shell脚本基础知识

时间:2013-06-17 21:24:04

标签: unix error-handling sh

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

所以,如果我输入:

 sh MyScript -e h e

它会回应:

  he

如果我输入:

 sh MyScript -o h e

它会回应:

 eh

它可以使用任何字母组合来完成此操作。它是一个非常基本的程序,没有用,但我刚开始学习UNIX。无论如何,如果输入:

sh MyScript -o

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

提前致谢!

1 个答案:

答案 0 :(得分:1)

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

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

-z选项为True,否则为False。希望这有帮助