기능이 있어요
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"
}