Bashスクリプト - リバース文字列

Bashスクリプト - リバース文字列

単語(最小3文字、最大10文字)を入力として使用し、文字の位置を変更するスクリプトを作成しようとしています。

問題は、スクリプトが正しく機能するようにifステートメント操作を結合する方法です。

#!/bin/bash
clear
ok=3
echo *****REVERSE*****
while [ $ok = 3 ]
do
echo "Enter a character: " 
read id
   if [ ${#id} -eq 3 ]
   then 
   echo  $id | rev
   elif [ ${#id} -eq 4 ]
   then 
   echo  $id | rev
   elif [ ${#id} -eq 5 ]
   then
   echo  $id | rev
   else
   echo Minimum character is 3 and Maximum is 5!Logging out..
   ok=4
  fi
done

ベストアンサー1

はしごを使用する必要はありませんif..elif..elif。最大長と最小長をテストします。

#!/bin/bash
read -p 'Enter a word :' word
if [[ ${#word} -le 2 ]] || [[ ${#word} -ge 11 ]]; then
   echo "Word is too short or long."
else
   rev < <(echo ${word})
fi

おすすめ記事