コマンドを使用すると、pwd
たとえば末尾のスラッシュを印刷したいと思います/opt
。/opt/
しかし、ファイルに次の行を追加してみました~/.bash_aliases
。
alias pwd=" echo "${PWD}/" "
しかし、正しく動作しません。末尾のスラッシュを使用して現在の作業ディレクトリを印刷するのではなく、現在の作業ディレクトリを印刷します。ターミナルセッション開始時、または最後にsource ~/.bashrc
コマンドを実行したとき。たとえば、コマンドに別の名前を付けても、cwd
この方法で実行されます。
だから私の質問は、現在の作業ディレクトリの後ろにスラッシュが続くエイリアスを何とか取得できるということです。
ありがとうございます。
ベストアンサー1
問題は、$PWD
エイリアス定義の一部が引用されていないことです(前の二重引用符で囲まれた文字列を閉じて$PWD
新しい文字列を起動します)。これは、エイリアスが定義されたときに評価されることを意味します。
代わりに一重引用符を使用してください。全体的なエイリアスリテラルまたはより良い*はシェル機能を使用してpwd
コマンドをオーバーライドします。
次のように(またはecho
必要に応じて使用):
alias pwd='printf "%s/\n" "$PWD"'
またはシェル関数を使用してください。
pwd () {
printf '%s/\n' "$PWD"
}
*良い = 複雑な参照を避けながら期待どおりに動作します。