演習課題「引数に合わせてメッセージを表示する」
右のターミナル環境には、「output.sh」というシェルスクリプトがあります。
このコードは、number変数に合わせて次のメッセージを出力します。
- 数字が「1」のとき、「おめでとう」と表示する
- 数字が「2」のとき、「あと少し」と表示する
- それ以外のとき、「ざんねん」と表示する
このコードを、引数を受け取ってメッセージを出力するよう、修正してください。
採点ボタンをクリックして、正解と表示されれば演習課題クリアです!
期待する出力値
$ ./output.sh 1
1
おめでとう
$ ./output.sh 2
2
あと少し
演習課題「標準入力に合わせてメッセージを表示する」
右のターミナル環境には、「output.sh」というシェルスクリプトがあります。
このコードは、number変数に合わせて次のメッセージを出力します。
- 数字が「1」のとき、「おめでとう」と表示する
- 数字が「2」のとき、「あと少し」と表示する
- それ以外のとき、「ざんねん」と表示する
このコードを、標準入力を受け取ってメッセージを出力するよう、修正してください。
採点ボタンをクリックして、正解と表示されれば演習課題クリアです!
期待する出力値
$ ./output.sh
1
1
おめでとう
$ ./output.sh
2
2
あと少し
#08:シェルスクリプトでデータを受け取ろう
シェルスクリプトでデータを受け取る方法を学習します。if文を例にして、引数と標準入力を使ってみましょう。
複数の引数がある場合、1番目は「$1」、2番目は「$2」、3番目は「$3」で参照できます。#!/bin/bash
# ifコマンド
data=$1
if [ $data = "1" ]; then
echo "スキ!"
elif [ $data = "2" ]; then
echo "どちらでもない"
else
echo "キライ"
fi
実行例$ ./if.sh 1
#!/bin/bash
# ifコマンド
# data=$1
read data
if [ $data = "1" ]; then
echo "スキ!"
elif [ $data = "2" ]; then
echo "どちらでもない"
else
echo "キライ"
fi
キーボードから入力$ ./if.sh
1
パイプで受け取る$ echo 1 | ./if.sh
入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス
https://shellscript.sunone.me/input_output.html
引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
https://shellscript.sunone.me/parameter.html
【 read 】 読み出したファイルを解釈する | 日経 xTECH(クロステック)
https://tech.nikkeibp.co.jp/it/article/COLUMN/20060227/230866/
標準入力を受け取れるシェルスクリプト、関数の作成(パイプで繋げられるようにする) - Qiita
https://qiita.com/koara-local/items/7ad01e0692e36627ba2d