0

我有一个名为 displayArg.sh 的 shell 脚本,这就是我打算运行它的方式-

./displayArg hello

并输入输出arg is hello

以下是脚本——

if [ $1 == "" ]; then
 default="Default"
 echo "no value is given. Output is $default"
else
 value=$?
 echo "entered arg is $value" #I know I am wrong in these 2 lines, but not sure how to fix it
fi

请多多包涵。我是 Shell 脚本的新手

4

1 回答 1

2

你要:

value="$1"

$?是最后一个命令的状态,它是 1,因为 test 命令是最后执行的。)

或者您可以简化为:

if [ "$1" == "" ]
then
    echo "no value is given. Output is Default"
else
    echo "entered arg is $1"
fi

注意测试中的引号"$1"。如果字符串为空,则会出现语法错误。您的替代方法bash是使用[[ $1 == "" ]]测试。

于 2012-12-06T04:17:08.703 回答