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...........
答案 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