检查Unix参数是否为非空

时间:2012-10-18 19:55:40

标签: shell unix parameters

  

可能重复:
  How to tell if a string is not defined in a bash shell script?
  What’s the best way to check that environment variables are set in Unix shellscript

我第一次尝试使用Unix shell脚本,并且在我正在处理的脚本中,我希望我的脚本的3个参数中的2个是可选的。但是,如果用户没有输入参数,我需要使用默认值。我怎样才能正确地说出基本上意味着什么:

$argument = $2
if($argument  == "")
    $argument = "defaultVal"

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试:

argument=${2:-default value}

答案 1 :(得分:1)

试试这个:

if [ "x$2" == "x" ]; then
    $argument="default";
else
    $argument=$2;
fi