이 명령은 Bash 및 Zsh에서 잘 작동합니다.
expac -H M "%011m\t%-20n\t%10d" $(comm -23 <(pacman -Qqen | sort) <({ pacman -Qqg xorg; expac -l '\n' '%E' base; } | sort -u)) | sort -n
그러나 Fish에서는 다음과 같은 오류가 발생합니다.
fish: Invalid redirection target:
comm -23 <(pacman -Qqen | sort) <({ pacman -Qqg xorg; expac -l '\n' '%E' base; } | sort -u)
^~~~~~~~~~~~~~~~~~~~~^
in command substitution
fish: Unknown error while evaluating command substitution
expac -H M "%011m\t%-20n\t%10d" $(comm -23 <(pacman -Qqen | sort) <({ pacman -Qqg xorg; expac -l '\n' '%E' base; } | sort -u)) | sort -n
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
이 오류는 무엇입니까? 그리고 Fish에서 작동하도록 이 명령을 어떻게 수정할 수 있나요? 감사해요!
답변1
감사해요무루나중에 오류에 대한 설명을 듣고 답을 찾았습니다. 제대로 작동하려면 명령에서 두 가지 사항을 변경해야 합니다.
- Fish는 <()를 지원하지 않습니다. 대신 '| psub'를 사용해야 합니다.
- Fish는 그룹화 명령에 "{ ... }"를 지원하지 않습니다. '....' 끝에 "begin;"을 사용해야 합니다.
따라서 올바른 명령은 다음과 같습니다.
expac -H M "%011m\t%-20n\t%10d" $(comm -23 (pacman -Qqen | sort | psub) (begin; pacman -Qqg xorg; expac -l '\n' '%E' base; end | sort -u | psub)) | sort -n