単純な if/else 文は機能しません。

単純な if/else 文は機能しません。

私はこの基本コードをシェルスクリプトで動作させようと長い間努力してきましたが、役に立ちませんでした。コードが動作しません!

read dec
if [ dec="Y"]||[dec="Y"]||[dec="y" ]; then
let repeat=1;
else
let repeat=0;
fi
done

ベストアンサー1

[]と文字は演算子ではなくコマンドなので、両方にスペースが必要です。

それも必要ではなく、変数(たとえば)でlet読む必要があります。dec$dec

テスト用に変数を大文字で表示することもできるため、大文字(ダブル!)と小文字の結果の両方をテストする必要はありません。

doneループがないので結局は必要ありません。

read dec
if [[ "${dec^}" = "Y" ]]; then
  repeat=1
else
  repeat=0
fi

おすすめ記事