
이것은 작동하지 않습니다: ~/xy*~~/xyz*
.
이것이 작동한다는 것을 알고 있지만 ( 예: 또는 )로 시작하는 경로 접두사를 사용하여 동일한 효과를 얻을 수 $HOME/xy*~$HOME/xyz*
있는 방법이 있는지 궁금합니다 .~
~/
~user/
~nameddir/
답변1
~/xy^z*
여기에서 또는 를 실행할 수 있습니다 ~/xy(*~z*)
.
답변2
기본적으로 쉘이 물결표를 $HOME
단어의 시작 부분과 중간 어딘가로 확장할 것으로 예상하지만 그런 일은 일어나지 않습니다. 첫 번째 것은 ~
확장되지만 $HOME
다른 것들은 확장되지 않습니다(이 경우 extendedglob
설정으로 인해). 전역 연산자로 취급됨)...
위에서 언급했듯이 이를 수행하는 방법은 여러 가지가 있습니다.산딥zsh
Understanding ksh
-like globs( bash
복사되는 위치) 로 인해 제안은 괜찮습니다 .
setopt kshglob
setopt nobareglobqual
print -rl ~/xy?([^z]*)
답변3
부정을 수행할 수 있습니다.
~/(xy|xy[^z]*)
또는 더 짧게:
~/xy(|[^z]*)