检查shell脚本中的参数

时间:2015-05-06 16:00:03

标签: shell if-statement arguments

我在找到这方面的指南时遇到了很多麻烦。

这个shell脚本出了什么问题:

if ["$1" == "-t"]
then
        echo "t"
elif ["$1" == "-r"]
then
        echo "r"
fi

这应该是一个非常简单的测试。如果参数是-t,那么做一件事,如果它是-r做另一件事。

1 个答案:

答案 0 :(得分:3)

[是一个命令(使用man [查看或直接查看man test)。因此,您需要在它们周围留出空格才能正确解释:

if [ "$1" == "-t" ]
then
        echo "t"
elif [ "$1" == "-r" ]
then
        echo "r"
fi

或者更好地使用POSIX兼容=if [ "$1" = "-t" ] ...

请参阅下面Charles DuffyWilliam Pursell的有趣评论。