명령 별칭을 실행하고 zsh 함수에서 문자열 변수로 저장하는 방법은 무엇입니까?

명령 별칭을 실행하고 zsh 함수에서 문자열 변수로 저장하는 방법은 무엇입니까?

기능이 있어요

fz(){file=$(find | fzf) && echo $file && read order && $("$order" "$file")}

.zshrz. 이를 통해 파일을 호출한 위치를 기준으로 하위 디렉터리의 어느 위치에서나 파일을 찾은 다음 입력에 지정된 명령을 해당 파일에 적용할 수 있습니다.

한 가지 작은 문제가 있습니다. 함수가 예상대로 작동하는 동안( $order동일한 파일에 지정된 별칭이 아닌 경우 .zshrc) 별칭을 사용하면 "명령을 찾을 수 없음" 메시지가 표시됩니다.

zsh 함수에서 변수로 저장된 별칭을 사용하는 방법이 있습니까?

답변1

eval대신 다음을 사용해야 합니다 $( … ).

fz() {
  file=$( find | fzf )
  echo $file
  read order
  eval "$order $file"
}

관련 정보