評価されたプロンプトプレースホルダーを画面に印刷します。

評価されたプロンプトプレースホルダーを画面に印刷します。

解釈されたPS1変数プレースホルダをコンソールに印刷する方法はありますか?それはまるで

$ echo `%u`

ユーザー名印刷用または

$ echo `%h`

印刷ホストで使用します。環境変数について知っていますが、PS1変数を介して同じ情報を取得する方法があるかどうか疑問に思います。

答え1

zsh では、次を使用します。% パラメータ拡張フラグ

tmp='%n@%m'; echo ${(%)tmp}

Bashには簡単な方法はないようですが、狡猾な方法があります。

tmp=$(set +x; (PS4='+.\u@\h'; set -x; :) 2>&1); tmp=${tmp#*.}; echo ${tmp%:}

tcshには方法がないと思います。 (ところで、最近誰が(t)cshを使用していますか?)

関連情報