watchコマンドを使用してbashスクリプトを実行し、出力ファイルを監視する方法は? [閉鎖]

watchコマンドを使用してbashスクリプトを実行し、出力ファイルを監視する方法は? [閉鎖]

そのため、「tmp_output.txt」などの出力ファイルに書き込むbashスクリプト「example.sh」があります。 (データがすでに存在する場合は、ファイルを消去して再作成します)

watchコマンドを使用して2秒ごとに「example.sh」を実行し、「tmp_output.txt」の変更を表示するにはどうすればよいですか?

watchコマンドはbashスクリプトで使用する必要があります。

ベストアンサー1

watchデフォルトでは、コマンドはシェルを介して実行されるため、ファイルの書き込みがexample.sh無条件の場合は、スクリプトを実行してcat出力ファイルを実行させることができます。

watch 'example.sh; cat tmp_output.txt'

ただし、もちろん、スクリプトを標準出力に印刷する方が柔軟性が高いため、出力を直接表示したり、必要に応じてファイルにリダイレクトしたりできます。

watchコマンドはbashスクリプトで使用する必要があります。

どういう意味なのかよくわかりません。watch無限に実行され、各実行中に画面を消去するなどの点を考慮すると、非対話型の使用には実際には適していません。また、watchスクリプト自体でスクリプトを実行するのはやや循環的です。

もちろん、スクリプトで次のことができます。

while true; do 
    # do some work
    # write to tmp_output.txt etc.                      
    cat tmp_output.txt             # display it
    sleep 2                        # sleep and repeat
done

おすすめ記事