这个问题在这里已经有了答案:
Why should there be spaces around '[' and ']' in Bash?
(5 个回答)
6年前关闭。
我在 bash 脚本中编写了一个函数。但是,它提示语法。我真的看不到它是什么.....错误消息是[:缺少`]'
addem() {
if [ $# -eq 0] || [ $# -gt 2 ]
then
echo -1
elif [ $# -eq 1 ]
then
echo $[ $1 + $1 ]
else
echo $[ $1 + $2 ]
fi
}
最佳答案
在第一个 ]
之前需要一个空格.那是:
改变:if [ $# -eq 0] || [ $# -gt 2 ]
到:if [ $# -eq 0 ] || [ $# -gt 2 ]
关于bash shell 脚本语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1035396/