概要
shellスクリプトのfor文で発生するスキップされて2行目が表示されないという問題。
理由はいたってシンプルで「標準入力」だから。
お作法は下記で勉強できます。
詳細や参考
シェルスクリプトを書くときに気をつける9箇条
解決法
・リスト化してfor文を使用する
# データの内容をファイルをリスト変数に格納
list-code=$(cat ./data.txt)
#ループ処理を実行
for X in ${list-code}
do
read -p "${X} : ok? (y/n):" yn
case "$yn" in
[yY]*)
# この行に実行したい処理を記載する。
;;
*) echo "skip"
;;
esac
done
まとめ
while文を使用すると発生します。
様々なループ処理を使用できるとエラーが発生した際に
解決する時間がない場合に方法を切り替えることも手段です。
↧