バックグラウンドスクリプトで定期的にPS1を変更できますか?

バックグラウンドスクリプトで定期的にPS1を変更できますか?

私はPS1変数を見つけました。プロンプトを変更するには、この変数の値を変更するだけです。たとえば、次のようになります。

PS1="\h"
hostname as Prompt
PS1="\j"
numbers of current jobs as Prompt
PS1="\t"
current time as Prompt
PS!="\j running on \h :"
or more complex string with many substitutions

これで、シェルを占有していないバックグラウンドプロセスのようなものがあるので、PS1の値を5秒ごとに変更し、フルタイムでバックグラウンドで実行できるスクリプトを作成できるかどうか疑問に思います。

擬似スクリプト:

Repeat

    {
    PS1="\j jobs"
    sleep 5 seconds
    PS1="time: \t"
    sleep 5 seconds
    PS1="Command History: \!"
    sleep 5 seconds
    }

可能であれば、bashシェルスクリプトでどのように実装しますか?

ベストアンサー1

上記の擬似コードをシェルスクリプトに統合しても、これは可能だとは思わない。これは、シェルスクリプトが呼び出されるたびに必要な場所ではなく、これらのことが発生する独自のサブシェルを起動するためです。 (メインシェル)に移動します。バックグラウンドで始めても同じです。 (スクリプト.sh&)

おすすめ記事