"Enter test: "
read test
if [[ $test == "a" ]]; then
echo "worked"
else
echo "failed"
fi
これは私がやっているテストの簡単な説明ですが、「A」と入力すると失敗します。一致するかどうかをテストできるように、変数ステップですべての項目を小文字に変更することができますか?
ベストアンサー1
sh
標準(POSIXおよびBourne)構文を使用してください。
case $answer in
a|A) echo OK;;
*) echo >&2 KO;;
esac
または:
case $answer in
[aA]) echo OK;;
*) echo >&2 KO;;
esac
bash
、ksh
または(zsh
この非標準構文をサポートする[[...]]
3つのシェル)を使用して、以下を宣言できます。小文字変える:
typeset -l test
printf 'Enter test: '
read test
if [ "$test" = a ]; then...
(bash
一部のロケールでは、変換が偽であることに注意してください。)