シェルスクリプトで対話的にユーザからの入力を待つサンプルをメモしておきます。
サンプル 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!
コメント