jobs
私の端末のタイトルに現在のステータスが表示されます。 Bashではこれを使用できますPROMPT_COMMAND
。 Korn Shell(ksh93)にはこの機能はありません。
その他の回答内部的にコマンド置換を使用することをお勧めします$PS1
。これは通常うまく機能しますが、コマンドでは機能しませんjobs
。ここで問題はjobs
職業についての人々の心配です。現在のシェルしかし、コマンドの置き換え(例PS1='...$(jobs)...'
:)サブシェルだから、仕事の機会はありません。
私が知っている唯一のメカニズムですが、trap '... jobs ...' DEBUG
これはあまりにも頻繁に行われます。現在、シェルのコンテキストでプロンプトごとに1回コマンドを実行する方法を知っていますか?それともKornシェルではこれは不可能ですか? !
ベストアンサー1
デフォルトで設定したばかりの場合は、設定時にPS1="...."
引用符内の内容が評価されます。
ただし、中に含めると表示された'
ときに評価されます。そしてそれは$(jobs)
。
例えば
$ PS1='
> $(jobs)
> $ '
$ sleep 1000 &
[1] 7541
[1] + Running sleep 1000 &
$ sleep 1000 &
[2] 7543
[2] + Running sleep 1000 &
[1] - Running sleep 1000 &
$ kill %1
[1] - Terminated sleep 1000 &
[2] + Running sleep 1000 &
$ kill %2
[2] + Terminated sleep 1000 &
$
(このテストはksh93を使用してDebian Jessieで行われましたが、すべてのksh93バリアントで動作する必要があります。テストするksh88はありません。)