{}: string expansion
- Brace 확장은 여러 확장과 치환 중 제일 먼저 일어난다.
- quote를 하면 brace 확장이 일어나지 않는다.
sh
에서는 brace확장을 사용할 수 없다.
,
가 없는 단일 항목은 확장되지 않는다.
echo {hello}
-> {hello}
,
전 후에 공백이 있으면 확장되지 않는다.
echo X{apple, banana, orange, melon}Y
-> X{apple, banana, orange, melon}Y
- 스트링 내에 공백이 있을 경우 quote 한다.
echo X{apple,"bana na",orange,melon}Y
-> XappleY Xbana naY XorangeY XmelonY
- prefix, suffix가 없으면 단지 공백으로 분리 시킴
echo {apple,banana,orange,melon}
-> apple banana orange melon
- 변수와 같이 사용한 예
AA=foo
echo {a,b}${AA}
-> afoo bfoo
scope
- 쉘스크립트는 순서대로 실행되기 때문에, 뒤 늦게 셋팅한다고 위에 것이 실행되지 않음