bash $PS1変数のパラメータ

bash $PS1変数のパラメータ

変数に含めることができるさまざまなパラメータの間でbash PS1\w展開します

現在の作業ディレクトリ。$HOME はチルダで省略されます (PROMPT_DIRTRIM 変数の値を使用します)

に記載されているようにBash マニュアル

My は( で指定された値と同じ)$HOMEに設定されていますが、の展開により、I がディレクトリ内にある場合は になります。したがって、「チルダで省略」されるわけではありません。/home/myuser//etc/passwd\wPS1/home/myuser$HOME

私はUbuntu 16.04を使用していますGNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)

\w何が問題なのですか?現在のディレクトリのパスを実際にコピーするソースは何ですか?

答え1

末尾の/in は/home/myuser/bash を混乱させます。削除すると正常な動作になると思います。

このスラッシュはディレクトリ名の一部ではなく、パス区切り文字です。 には使用すべきではなく/etc/passwd、 にも使用すべきではありません$HOME

次のコマンドを実行するだけで、ファイルに触れることなくその理論をテストできます。

HOME=/home/myuser

その後、プロンプトにチルダが表示されます。

関連情報