나는 라 à dialog
를 호출 할 : A
, B
및 C
제외명령 대체에서 빈 인수를 생존시키는 방법?
dialog --menu Choose: 0 40 10 A '' B '' C ''
후자는 { echo A; echo B; echo C; }
있는이 질문을 위해, 동적 쿼리의 결과입니다.
나는에 의해 겉으로 원하는 명령 줄을 얻을 수 있습니다 :
A '' B '' C ''
명령 대체의 결과임을 보여
{ echo A; echo B; echo C; } | sed -e "s/\$/ ''/;"
하지만 :
echo $({ echo A; echo B; echo C; } | sed -e "s/\$/ ''/;")
및 출력 단어 분리 만 가능하지만 ''
은 빈 인수로 해석되지 않고 0123으로 전달됩니다.(따라서 dialog
은 메뉴 항목에 대한 설명을 표시하지 않지만 문자는 ''
입니다).
배열을 사용하여 bash에서이 문제를 해결할 수 있지만 누락 된 간단한 해결책이 있습니까?
는
$ e() { printf "tag: [$1] item: [$2]"; }
$ e $(echo "A ''")
$ tag: [A] item: ['']
어떻게 항목이
[]
대신
['']
되도록의
$(...)
부분을 변경할 수 있습니다 감안할.
무엇 실제를 문제는 해결하려고합니까? –
@AnsgarWiechers 주어진'{echo A; 에코 B; 에코 C; }', 실행하고 싶습니다'dialog --menu 다음을 선택하십시오 : 0 40 10 A ''B ''C '''. –
* 왜 * 실행하고 싶습니까? 이 일을 통해 무엇을 성취하고 싶습니까? –