0

zsh で fzf の関数を作成しようとしています。

fzf のホーム フォルダーの下にあるすべてのディレクトリとファイルを一覧表示し、これらの先頭に "~/" を追加して、最終的に選択内容を変数に保存します。

これまでのところ、私はこれを持っています:

myVar=$(fd -t d -t f . ~ | xargs realpath --relative-to=$HOME | sed s/^/~\// | fzf)

シェルでコードを実行するだけで、私が望むことを実行します(文句を言うことは別としてxargs: unmatched single quote;....

ただし、それを関数に入れて、それを含むファイルをソースすると、sedは文句を言いますno matches found: s/^/~//

対話型シェルでコードを実行したときと同じように関数を動作させるにはどうすればよいですか? そして、異なる行動の理由は何ですか?

4

1 に答える 1