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

标签 unix error-handling sh

因此,我制作了一个非常基本的脚本,该脚本利用了getopt和if语句。

所以,如果我输入:

 sh MyScript -e h e

它会回声:
  he

如果我输入:
 sh MyScript -o h e

它会回声:
 eh

它可以用字母的任意组合来实现。它是一个非常基本的程序,没有用,但是我才刚刚开始学习UNIX。无论如何,如果输入:
sh MyScript -o

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

提前致谢!

最佳答案

有很多方法可以执行此操作,您可以始终在getopts语句之后立即检查从getopts命令向其分配值的变量是否为空。

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

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

关于unix - 重定向IF语句产生的错误消息。 UNIX Shell脚本基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17157131/

相关文章:

linux - 计算进程消耗的最大可用存储内存

ruby - module_eval/class_eval/instance_eval 如何统计行号

bash - 防止在 echo 参数中扩展\c

linux - 无法找到 JAVA_HOME

linux - 在哪里存储配置

powershell - Get-PSSessionConfiguration 的 ErrorActionPreference 和 ErrorAction SilentlyContinue

python - 如何处理通过将isbnlib.meta与 Pandas 一起应用返回的错误

linux - 使用 UDEV 和脚本确定光学媒体类型(音频 CD、DVD、蓝光)

bash - 取消设置脚本中定义的全局变量是好的做法吗?

java - cat Unix命令直接来自java,不应该调用shell脚本