1
작동하지 않습니다 당신이 기대하는 것처럼zsh을 매개 변수 확장 내가 실행하는 경우, zsh을에서
a=$(echo "foo, bar")
echo ${a[(ws:, :)1]}
내가 foo
를 얻을 수 (w
는 s:, :
가 ,
될 수 있습니다 단어를 참조하는 인덱스의 원인 단어 분리 기호). 나는이 결합하려고하면
그러나 :
echo ${$(echo "foo, bar")[(ws:, :)1]}
나는
foo,
얻을. 어떤 이유로 든
w
플래그가 올바르게 작동하지만
s:, :
플래그는 완전히 무시됩니다.
내가 뭘 잘못하고 있니?
자세한 정보 : 이것은 $ {} 내부의 $() 문제 일뿐입니다. $ {} 안에 $ {}을 중첩하면 아무런 문제가 없습니다.
$ zsh --version
zsh 5.2 (x86_64-unknown-linux-gnu)
'$ {=='은 확장을 위해 sh_word_split 옵션을 해제 만한다. 실제로 이것은 디폴트를 선언하는 것일 뿐이고 많은 영향을 미치지 않을 것입니다. – okapi
"필드 나누기"및 "인덱스 작업"이 의미하는 바를 조금 더 설명하고 솔루션이 작동하는 이유는 무엇입니까? "$ (echo"and ")"를 인용하는 것처럼 구문 오류가 발생하는 것 같습니다. – Radvendii
이전 Zsh 버전을 사용하고 있습니까? 내부 따옴표를 생략하거나 작은 따옴표로 바꿀 수 있습니다. [이 스크린 샷] (https://postimg.org/image/47xhi0zwz/)을 참조하십시오. – user1934428