シェルスクリプトで対話的にユーザからの入力を待つサンプルをメモしておきます。
サンプル 1
#!/bin/sh echo -n "Enter your name: " read name echo "Hello, $name!"
実行結果は以下の通りです。
# ./sample1.sh
Enter your name: Alice
Hello, Alice!
サンプル 2
#!/bin/sh echo -n "Enter your name: " read name if [ "$name" = '' ]; then exit fi echo "Hello, $name!"
実行結果は以下の通りです。
# ./sample2.sh Enter your name: # ./sample2.sh Enter your name: Alice Hello, Alice!
サンプル 3
#!/bin/sh echo -n "Enter your name: " while read name do case $name in '' ) echo -n "Enter your name: ";; * ) break;; esac done echo "Hello, $name!"
実行結果は以下の通りです。
# ./sample3.sh
Enter your name:
Enter your name: Alice
Hello, Alice!