複数の単語と単語のバリエーションの出力を提供するスクリプトを取得しようとしています。変数に-oを追加し、単語を引用して、一緒にリンクしてみました。 varnameの各単語は私に出力したい表示単語です。この問題を解決する方法はありますか?または、各変数を個別に設定する必要がありますか?例: varname1=even varname2=Even varname3=EVEN など。
#!/bin/bash
varname1=even -o Even -o EVEN
varrname2=odd -o Odd -o ODD
varname3=zero -o Zero -o ZERO
varname4=negative -o Negative -o NEGATIVE
# Ask the user for one of four select words
echo "Type one of the following words:"
echo "even, odd, zero, negative"
read varword
if [[ ("$varword" = $varname1 ) || ("$varword" = $varname2 ) || ("$varword" = $varname3 ) || ("$varword" = $varname4 ) ]]
then
echo "The approved word you have selected is $varword, great work! "
else
echo "The unapproved word you have selected is $varword, Please try again."
fi
ベストアンサー1
echo "Type one of the following words:"
echo "even, odd, zero, negative"
while :; do
read varword
varword="${varword,,}" #downcase it
case "$varword" in
even|odd|zero|negative)
echo "The approved word you have selected is $varword, great work! "; break;;
*)
echo "The unapproved word you have selected is $varword, Please try again.";;
esac
done