0

Unix シェル スクリプト:

コマンドライン入力として実行する必要がある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...........
4

2 に答える 2

0

正直なところ、コードにバグは見られません ( $$VAL5 と比較した場合を除いて)。VALそれは 2 に等しいと確信していますか? ./script 2の代わりに、この方法でコードを呼び出してみてください./script $VAL。さらに、次のcaseステートメントを使用することをお勧めします。

 case "$VAL" in
 "1")
    fun1
    ;;
 "2")
    fun2
    ;;
 "3")
    fun3
    ;;
 *)
    echo -e "Invalid input.............\n" 
    ;;
 esac
于 2013-01-28T08:45:40.717 に答える
0

こんにちは、これは Linux の関数のコードです。

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

#CallerScript
a=50
passme=Thisisvalue
func $passme 
于 2013-01-28T09:59:55.000 に答える