在shell脚本中简单使用函数

时间:2010-09-15 09:57:04

标签: bash unix shell

我正在尝试使用下面的简单功能。但我得到错误说一元运算符预期,输出始终是one。 any1可以帮助我纠正它。

#!/bin/bash
checkit ()
{
if [ $1 = "none" ]
then
     echo "none"
else
     echo "one"
fi
}
checkit

3 个答案:

答案 0 :(得分:2)

$1是整个脚本的参数,而不是函数checkit()。所以也将相同的参数发送给函数。

#!/bin/bash
checkit ()
{
if [ $1 = "none" ]
then
     echo "none"
else
     echo "one"
fi
}

checkit $1

这必须有效。

答案 1 :(得分:0)

使用这样的引号环绕$1

#!/bin/bash
checkit ()
{
if [ "$1" = "none" ]
then
     echo "none"
else
     echo "one"
fi
}
checkit

答案 2 :(得分:0)

使用[[关键字代替[内置:

#!/bin/bash
checkit ()
{
if [[ $1 = none ]]
then
     echo none
else
     echo one
fi
}
checkit

请阅读Bash pitfallsBash FAQ