前提・実現したいこと
シェルスクリプトを書き始めて2週間のひよっこです。
とあるサイトの練習問題を一つ一つ分解して、内容の理解に努めていましたが、調べてみてもどうしてもわからないことがあったので質問させていただきたいです。
発生している問題・エラーメッセージ
エラーというか逆に「なぜこれで正常に動くのか?」がわからない状態です。
一行一行を分解していっても、なぜここでこの書き方をすることで動くのかが調べてみてもわかりません。
該当のソースコード
bash
1while true 2do 3 while read FS 4 do 5 FS_USE=`df ${FS} | tail -1 | awk '{print $(NF-1)}' | sed 's/%//'` 6 if [ ${FS_USE} -ge ${LIMIT2} ]; then 7 echo "`date '+%Y/%m/%d %H:%M:%S'` ERROR: filesystem 90% over: ${FS}" >> ${LOG_FILE} 8 elif [ ${FS_USE} -ge ${LIMIT1} ]; then 9 echo "`date '+%Y/%m/%d %H:%M:%S'` WARNING: filesystem 80% over: ${FS}" >> ${LOG_FILE} 10 fi 11 done < ${LIST_FILE} 12 sleep ${INTERVAL} 13done
該当の箇所はこちらになってます。
唐突に"FS"という単語が出てきて、スクリプト内を検索してもこの単語が出てきたことはこれが初めてです。
なんの定義付けもされていないのですが、それにもかかわらずこのために作成したリストファイルを正常に読み込んでいます。
試したこと
echoで${FS}を試してみると、きちんと作成したファイルの場所が参照されています。
"FS"というのが何かリストファイルを読み込むための方式などのコマンドなのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/24 04:01