从命令行如何在shell脚本中调用用户定义的函数

时间:2013-01-28 08:39:20

标签: shell

Unix shell脚本:

我有7个需要作为命令行输入执行的函数,我尝试使用下面的代码来执行函数。

if [ "$VAL" == "1" ]
then
fun1
elif [ "$VAL" == "2" ]
then
fun2
elif [ "$VAL" == "3" ]
then
fun3
elif [ "$VAL" == "4"]
then
fun4
elif [ "$$VAL" ==" 5" ]
then
fun5
elif [ "$VAL" == "6" ]
then
fun6
elif [ "$VAL" == "7" ] then
fun7
else
echo -e "Invalid input.............\n"
Help
  exit
fi

输出:

Usage:  ./script  $VAL
#   ./script  2
Invalid input...........

2 个答案:

答案 0 :(得分:0)

说实话我在你的代码中没有看到任何错误(除了$$VAL与5相比)。你确定VAL等于2吗?也许尝试以这种方式调用您的代码./script 2而不是./script $VAL。我还建议使用case语句:

 case "$VAL" in
 "1")
    fun1
    ;;
 "2")
    fun2
    ;;
 "3")
    fun3
    ;;
 *)
    echo -e "Invalid input.............\n" 
    ;;
 esac

答案 1 :(得分:0)

嗨,这是linux中函数的代码,希望这有帮助

func() 
{
if [ thisconditionistrue ]
then
a=100
else
a=500
fi
}

#CallerScript
a=50
passme=Thisisvalue
func $passme