"와 같은 (Bourne Shell) 변수를 만들려고 합니다.$@" 그래서 여러 단어를 생성하며 그 중 일부는 공백을 유지합니다. 변수를 여러 가지 방법으로 정의하려고 시도했지만 여전히 작동하지 않습니다.
#!/bin/sh
n=\"one\ two\"\ three
for i in "$n"; do
echo $i
done
참조된 변수를 ", I get this like"로 바꾸면 스크립트가 one two
먼저 출력되고 다음 반복에서 출력 되도록 변수를 정의하고 싶습니다.three
$@” 그리고 'one two' three
매개변수로 전달됩니다.
예"$@"그냥 마술?
답변1
따라서 Bourne Shell(IIRC)은 어레이를 지원하지 않습니다. 계속해서 "$@"을 사용할 수 있습니다.
set -- "one two" three
for i in "${@}" ; do
echo "$i"
done
산출:
one two
three
AIX 7.1 bsh에서 테스트되었습니다.