Bash 변수를 공백으로 바꾸기

Bash 변수를 공백으로 바꾸기

다음 코드가 있습니다:

TITLE="Some value with spaces"
DIALOG="${DIALOG=dialog} --clear --no-tags --tab-correct --backtitle $TITLE "
...
$DIALOG --title "Some title --menu "Menu" 15 60 5 "1" "menu1" "2" "menu2"
 ...

DIALOG는 TITLE에 공백 없이 문자열이 포함되어 있으면 제대로 작동합니다. 공백 사용 - 적절한 대체가 수행되지 않습니다.

비슷한 변형을 사용해 보았습니다. (운이 좋지 않습니다.)

$TITLE
"$TITLE"
\"$TITLE\"
${TITLE}
"${TITLE}"
\"${TITLE}\"
TITLE='Some value with spaces'
TITLE="Some\ value\ with\ spaces"

올바른 교체 방법은 무엇입니까?

답변1

이 코드는 잘 작동합니다:

TITLE="Some value with spaces"
DIALOG="${DIALOG=dialog}
OPTS=(--clear --no-tags --tab-correct --backtitle "$TITLE")
...
$DIALOG "${OPTS[@]}" --title "Some title" --menu "Menu" 15 60 5 "1" "menu1" "2" "menu2"
...

고마워요 일카츄

관련 정보