シェルからクリップボードに現在のパスをコピーするエイリアス設定が失敗しました。

シェルからクリップボードに現在のパスをコピーするエイリアス設定が失敗しました。

私の.zshrcに次のエイリアスを追加しました。

alias pwdc="echo -n $PWD | xclip -selection clipboard"

別のディレクトリに移動しても、現在の作業ディレクトリが更新されないようです。私もこれを試しました:

alias pwdc="echo -n `pwd` | xclip -selection clipboard"

誰かが私が間違っていることを説明できますか?どんなアドバイスでも役に立ちます。ありがとうございます!

答え1

二重引用符内の変数はすぐに拡張されるため、コマンド(または少なくとも変数がある部分)には一重引用符が必要です。

$ alias cc='echo "$PWD"'
$ cd "$(mktemp --directory)"
$ cc
/tmp/tmp.9OuF0ZAE1b

いずれにせよ、代わりに関数を使用してくださいこれらの問題は回避されます。

関連情報