1. ホーム
  2. bash

[解決済み] bashでファイルが存在するかどうかをテストするためのWhileループ

2022-12-03 14:24:34

質問

私はtxtファイルが存在する場合のみ、特定の変更を行うシェルスクリプトに取り組んでいますが、このテストループは動作しません。 ありがとうございます。

while [ ! -f /tmp/list.txt ] ;
do
      sleep 2
done

どのように解決するのですか?

動作しない」とありますが、どうして「動作しない」とわかるのですか?

実際にファイルが存在するかどうか、追加で調べてみてはいかがでしょうか。

while [ ! -f /tmp/list.txt ]
do
  sleep 2 # or less like 0.2
done
ls -l /tmp/list.txt

また、Bash(または関連する)シェルを使っていることを 'echo $SHELL' とタイプすることで確認できるかもしれません。CSHとTCSHでは、このループの意味が少し違っているようです。