zsh에서는 와일드카드를 사용할 때 ?
또는 *
아래와 같이 와일드카드가 활성화됩니다.
ls file?.txt
그러나 다음과 같은 상황에서는 와일드카드를 비활성화하고 싶습니다.
youtube-dl https://www.youtube.com/watch?v=QIysdjpiLcA
'
매개변수를 작은따옴표나 큰따옴표( 또는 ) 로 묶어서 "
이 문제를 해결할 수 있습니다.
URL과 같은 패턴에 사용될 때 와일드카드를 무시하도록(즉, 와일드카드를 사용하지 않도록) zsh를 어떻게든 구성할 수 있습니까? 아니면 일부 명령/실행 파일의 경우?
답변1
당신이 넣으면noglob
명령 앞에는 와일드카드가 사용되지 않습니다.
noglob youtube-dl https://www.youtube.com/watch?v=QIysdjpiLcA
특정 명령에 대해 와일드카드를 비활성화하려면 해당 명령을 별칭으로 설정하세요.
alias youtube-dl='noglob youtube-dl'
이는 URL에 도움이 되지만 ?
URL에는 도움이 되지 않습니다 &
. &
참조 제외의 해석을 비활성화할 수 있는 방법은 없습니다 .
클립보드에 URL이 있으면 붙여넣는 대신 명령을 사용하여 클립보드 내용을 호출할 수 있습니다.
youtube-dl "`xsel`" # X11 automatic mouse selection
youtube-dl "`xclip -o`" # X11 automatic mouse selection
youtube-dl "`xsel -b`" # X11 explicitly copied clipboard
youtube-dl "`xclip -o -sc`" # X11 explicitly copied clipboard
youtube-dl "`pbpaste`" # macOS clipboard
쉘 기록에는 URL이 아닌 붙여넣은 명령이 포함됩니다. Tab명령이 끝나기 전에 명령줄 끝을 누르면 명령 대체가 URL로 확장됩니다 . (완료 설정에 따라 필요한 키가 다를 수 있습니다.Zsh 명령줄에서 모든 변수를 확장하는 방법은 무엇입니까?그리고Shell이 탭 접두어를 완성할 수 있나요?.)
또는 터미널에서 지원하는 경우괄호 안에 붙여넣기(좋은 최신 제품에서는 이렇게 합니다.) 붙여넣기 전에 Ctrl+를 누르세요 U(또는 숫자 매개변수를 설정하는 다른 항목). URL(또는 붙여넣은 내용)은 따옴표로 묶입니다. 여기에는 브라우저가 무시하는 선행 및 후행 공백이 포함됩니다.