If elseステートメントを作成して、ユーザーが何かを入力したことを確認しようとしています。彼らが持っている場合は、コマンドを実行する必要があります。そうでない場合は、ヘルプステートメントをエコーします。
例(かなり簡単)は次のとおりです。次のコードを含むuserinputという名前のファイルが作成されます。
#!/bin/bash
# create a variable to hold the input
read -p "Please enter something: " userInput
# Check if string is empty using -z. For more 'help test'
if [[ -z "$userInput" ]]; then
printf '%s\n' "No input entered"
exit 1
else
# If userInput is not empty show what the user typed in and run ls -l
printf "You entered %s " "$userInput"
ls -l
fi
Bashの学習を開始するには、次のリンクをチェックすることをお勧めします http://mywiki.wooledge.org/
ユーザーが特定の文字列を入力したかどうかを知りたい場合は、これが役立ちます。
#!/bin/bash
while [[ $string != 'string' ]] || [[ $string == '' ]] # While string is different or empty...
do
read -p "Enter string: " string # Ask the user to enter a string
echo "Enter a valid string" # Ask the user to enter a valid string
done
command 1 # If the string is the correct one, execute the commands
command 2
command 3
...
...
複数の選択肢が有効な場合、 正規表現 に一致するようにwhile条件を作成します。
例えば:
#!/bin/bash
while ! [[ "$image" =~ ^(rhel74|rhel75|cirros35)$ ]]
do
echo "Which image do you want to use: rhel74 / rhel75 / cirros35 ?"
read -r image
done
3つの選択肢のいずれかを入力するまで、入力を求め続けます。