Bash函数在脚本中的行为与在命令行上手动输入的行为不同,为什么?

时间:2014-10-19 04:36:03

标签: bash function syntax

运行 - ./bashfile.sh a 1 1

#!/bin/bash

addit () {
echo $(($2 + $3))
}

if [ $1 == a ]
then
addit
fi

产生

syntax error: operand expected (error token is "+ ")

是什么导致了这个问题?

由于

1 个答案:

答案 0 :(得分:2)

在定义addit之后,您应该在脚本中调用addit $1 $2函数,例如:addit

#!/bin/bash
addit () {
    echo $(($1 + $2))
}

addit $1 $2

运行:

chmod +x bashfile.sh
./bashfile 1 1
2