Я пытаюсь создать функцию для fzf в zsh.
Я хочу перечислить все каталоги и файлы в моей домашней папке в fzf, добавить их с помощью «~ /» и затем в конечном итоге сохранить мой выбор в качестве переменной.
Пока у меня есть это:
myVar=$(fd -t d -t f . ~ | xargs realpath --relative-to=$HOME | sed s/^/~\// | fzf)
Когда я просто запускаю код в оболочке, он делает то, что я хочу (кроме от жалобы xargs: unmatched single quote;...
.
Однако, когда я помещаю ее в функцию и получаю файл, содержащий ее, sed жалуется на no matches found: s/^/~//
Как заставить функцию вести себя так же, как когда код запускается в интерактивной оболочке? И в чем причина такого поведения?