PS1でタイムプロンプトを設定したい。しかし、busyboxがサポートするシンボルとは何かについてのドキュメントはありません。
誰か知っていますか?これが私が知っていたすべてです。
PS1='\u@\h: \w \$'
BusyBoxには、ashとhushの2つのシェルがあります。どれを持っているかを確認するには、_type chdir
_を実行します。ashには組み込み(cd
と同義)としてありますが、hushにはありません。どちらにもオプションのプロンプト拡張機能があります。 Ashは、コンパイル時に_ASH_EXPAND_PRMT
_機能をアクティブ化することで有効になりますが、hushには_FEATURE_EDITING_FANCY_Prompt
_が必要です。
その機能が存在する場合、ashでは_PS1
_の値が二重引用符で囲まれた文字列のように展開されます。_$foo
_、$(command)
、および_`command`
_構造が展開されます。
一部の円記号エスケープが処理されます(灰で、置換後)。それらはbashのサブセットです。
\!
_:行履歴数\a
_:ベル\b
_:バックスペース\e
_、_\E
_:エスケープ\f
_:フォームフィード\h
_:ホスト名\n
_:改行\r
_:キャリッジリターン\t
_:タブ\u
_:ユーザー名(_FEATURE_GETUSERNAME_AND_HOMEDIR
_のみ)\v
_:垂直タブ\w
_:現在のディレクトリ。ホームディレクトリは_~
_(_FEATURE_GETUSERNAME_AND_HOMEDIR
_のみ)\W
_:現在のディレクトリ(省略なし)\xHH
_または_\XHH
_ここで、HHは2桁の16進数です。16進コードで指定された文字です。\[…\]
_:囲まれたテキストは幅の計算にはカウントされません(ソースコードを見ている場合、これは_parse_and_put_Prompt
_の_libbb/lineedit.c
_で発生します。)