シェル・スクリプトの実行中にキーボードから入力を受け付けたい場合は,readを利用する。readはキーボードからの入力を指定した変数に代入する。たとえば,以下のようなシェル・スクリプト「wname.sh」があったとする。
#!/bin/sh
echo -n "What is your name? : "
read ans
echo "Hello, $ans"
|
このスクリプトを実行すると,メッセージが表示された後,キーボードからの入力待機状態になる。ここで任意の文字を入力し,Enterキーを押すとans変数に入力される。
$ ./wname.sh
What is your name? : Fukuda ← 文字を入力できる
Hello, Fukuda
|
readはスペースやタブで区切ることで,複数の変数に入力できる。たとえば,以下のようなシェル・スクリプト「fullname.sh」があったとする。
#!/bin/sh
echo -n "What is your name? ( "First name" "Family name" ) : "
read f_name l_name
echo "Good morning, $l_name"
echo "Hello, $f_name"
|
このスクリプトを実行し,入力状態で2つの文字列をスペースで区切って入力すると,最初の文字列はf_name,スペースの後の文字列がl_nameに代入される。
$ ./fullname.sh
What is your name? ( "First name" "Family name" ) : Kazuhiro Fukuda
Good morning, Fukuda.
Hello, Kazuhiro.
|