检查Bash shell脚本中输入参数的存在

我需要检查输入参数的存在。我有以下脚本:

if [ "$1" -gt "-1" ]
  then echo hi
fi

我得到

[: : integer expression expected

如何检查输入参数1首先看它是否存在?

它是:

if [ $# -eq 0 ]
  then
    echo "No arguments supplied"
fi

$#变量将告诉你脚本传递的输入参数的数量。

或者您可以检查参数是否为空字符串或不是:

if [ -z "$1" ]
  then
    echo "No argument supplied"
fi

-z开关将测试“$ 1”的扩展是否为空字符串。如果它是一个空字符串,那么正文将被执行。

转载注明原文:检查Bash shell脚本中输入参数的存在 - 代码日志