tcsh シェル・プロンプトに未処理ジョブの数が表示されます。

tcsh シェル・プロンプトに未処理ジョブの数が表示されます。

tcshシェルプロンプトで完了していないバックグラウンドタスクを表示する方法は?未解決の作業の数を知らせることはわかりますが、%j静かに置いておくと、プロンプトは時代遅れになります。理想的には、プロンプトを自動的に更新したいと思います。デフォルトでは、送信したすべてのジョブが完了したことを確認するためにbjobsコマンドを継続的に入力することを避けたいと思います。

答え1

set prompt = "%j %# "

これは現在のバックグラウンドジョブ数のプロンプトを設定し、その後>または#ルートに設定します(promptcharsデフォルトから変更されない限り)。

テストしてみてください:

> set prompt = "%j %# "
0 > 

その後、いくつかのバックグラウンドタスクを開始します。

0 > ls &
[1] 82556
1 > ls &
[2] 99869
[1]    Done                          ls
2 >
[2]    Done                          ls
2 >
2 >
2 >
2 >
2 >
2 >
2 >

ご覧のとおり、を押してもプロンプトのジョブ数は更新されませんEnter。それ〜する新しいコマンドを入力するとすぐに更新されます。

2 > ls
0 >
0 >

あなたが言及したものbjobs。これは LFS コマンドであり、tcshまったく関係ありません。意図的かどうかにかかわらず、より多くの情報で質問を更新してください。

関連情報