tcsh와 zsh. 이스케이프/제어 문자

tcsh와 zsh. 이스케이프/제어 문자

zsh에서 이 명령을 실행하는 데 문제가 있습니다.

my_command -u something -s X:^0  

이 명령은 tcsh에서는 즉시 작동하지만 zsh에서는 다음을 얻습니다.

zsh: no matches found -s X:^0

^이 사람이 범인 인지 궁금해지네요 . 내가 이해한 바에 따르면 sX:^0매개변수의 값은 매개변수의 값이지만 zsh는 tcsh처럼 전달하는 -s대신 이를 확장하는 것 같습니다 .my_command

내 이해가 맞나요? 그렇다면 zsh에서 동일한 명령을 어떻게 실행할 수 있습니까?

답변1

extendedglobzsh에서 활성화는 ^부정적인 와일드카드 이므로 -sX:^0다음을 의미합니다.-sX:다음으로 시작하는 모든 파일 이름0.

와일드카드로 해석되는 것을 원하지 않으면 인용해야 합니다(예: '-sX:^0'or -sX:\^0또는 ...).-s"X:^0"

Bourne 쉘과 그 이전 쉘 ^에서도관로운영자에게도 견적이 필요합니다.

관련 정보