-2

自動化には 1 つの要件があります。

Linux のコマンド ラインで、1、2、3 などの値を MY_IMAGE に渡す必要があります。

他のメイクファイルでこれらすべての入力のアクティビティを定義していました。

以下のようなコードは、私の要件のために書きました。MY_IMAGE=1、MY_IMAGE=2、MY_IMAGE=3 のような値を渡すたびに問題が発生しました

印刷のみですecho ACT_DO=XYZ;

2 または 3 を選択すると、他の情報が表示されません。誰でもコードを確認して修正できますか。

export MY_IMAGE
MY_IMAGE=$img_value;
if [ $img_value :="1" ]
then
echo ACT_DO=XYZ;
else 
if [ $img_value :="2 ] 
then
echo ACT_DO=ABC;
else 
if [ $img_value :=3 ] 
then
echo ACT_DO=ETC;
else
echo ""$img_value" is unsupported";
exit 1; 
fi
fi
fi
4

1 に答える 1

2

:=私の知る限り、あなたのコードには間違った場所に引用符があり、これは何の意味もありません。また、混乱を招くように実装されています。

これを試して:

export MY_IMAGE
MY_IMAGE=$img_value

case "$img_value" in
1 ) echo ACT_DO=XYZ ;;
2 ) echo ACT_DO=ABC ;;
3 ) echo ACT_DO=ETC ;;
* )
  echo "\"$img_value\" is unsupported"
  exit 1
  ;;
esac

最初の 2 行はこのコードには必要ありませんが、別の目的で必要だったと思います。

于 2012-05-09T11:11:04.050 に答える