Bashでスケジュールされたバックグラウンドジョブの実行

Bashでスケジュールされたバックグラウンドジョブの実行

30秒ごとにbashでコマンドを実行し、バックグラウンドジョブとして実行したいと思います。形この投稿、watchコマンドを使用すると便利です。ところで、背景に設定しようとするたびに停止します。

watch -n 1 'date >> dateFile.txt'

働くcat dateFilet.txt行がたくさん見えますね。

watch -n 1 'date >> dateFile.txt' &

返品

[1]+ Stopped watch -n 1 'date >> dateFile.txt'

実行すると、bg同じ行が再び返されます。

私は何が間違っていましたか?どうすれば解決できますか?私が最終的に望むのは、bashセッション内で特定の変数を最新の状態に保つために1分ごとにファイルを取得することです。

ベストアンサー1

Bashでは、次のコマンドを使用して簡単にこれを実行できます。PROMPT_COMMAND変数( man bash):

プロンプトコマンド

設定されている場合、この値は各デフォルトプロンプトが実行される前にコマンドとして実行されます。

したがって、次のようなものを追加すると~/.bashrc

PROMPT_COMMAND=". /path/to/file"

このファイルで定義されているすべての変数を使用できます。

おすすめ記事