0

たとえば ./test sa または ./test wn と入力して、関数のエコーを引き続き機能させることは可能ですか? [ a ] または [ w ] で試しましたが、うまくいかないようです。

until [ -z $1 ] 

  case in "$1" in 

               wa) echo "hi just testing" ;;

  esac
done
4

1 に答える 1

0

まず、case ステートメントが間違っています。

case "$1" in
   wa) echo ""hi just testing" ;;
esac

オプションをカスケードしようとしている場合は、「または」ロジックを使用できます。

case "$1" in
   wa|sn) echo ""hi just testing" ;;
esac

いずれかの文字のタイプミスに対処しようとしている場合は、次を使用できます。

case "$1" in
  w?|?a)  echo ""hi just testing" ;;
esac

手段は?任意の 1 文字に一致します。

于 2012-09-04T12:44:07.533 に答える