이 예제의 형식을 지정할 수 있습니까?
for i in string1 string2 stringN
do
echo $i
done
이 같은:
for i in
string1
string2
stringN
do
echo $i
done
편집: 혼란을 드려 죄송합니다. 스크립트를 실행하는 다른 방법이 있다는 것을 몰랐습니다. sh <scriptname>
와 bash <scriptname>
지금은 이름을 지정할 수 없는 다른 방법이 있습니다 . #!/bin/sh
:)#!/bin/bash
답변1
Bash에서 배열을 사용하면 가독성이 향상됩니다. 이 배열 구문은 단어 사이에 임의의 공백을 허용합니다.
strings=(
string1
string2
"string with spaces"
stringN
)
for i in "${strings[@]}"; do
echo "$i"
done
답변2
백슬래시를 사용하여 줄바꿈을 이스케이프 처리할 수 있습니다.
$ for i in \
> hello \
> world
> do
> echo $i
> done
hello
world
$
답변3
list='a b c d'
for element in $list;do
echo "$element"
done
답변4
다음으로 전환할 수 있는 옵션이 제공되는 경우 zsh
:
for string (
string1
'other string'
etc..
) printf '%s\n' "$string"