double quoteで囲むと改行して出力する
double quoteで囲むと改行して出力する。
囲まないと半角スペースになる。
LINES=`cat <<EOF
line1
line2
line3
EOF
`
echo ${LINES}
echo "${LINES}"
output
line1 line2 line3
line1
line2
line3
for文で回すときはdouble quoteで囲まない
for文で回してもらうときは半角区切りで渡す必要があるため、double quoteで囲まないほうがいい。
double quoteで区切ると1行の文字列として扱われてしまう。
#!/bin/bash
# your code goes here
LINES=`cat <<EOF
line1
line2
line3
EOF
`
COUNT=0
for i in ${LINES}
do
echo ${COUNT}':'${i}
COUNT=$(( COUNT + 1 ))
done
COUNT=0
for i in "${LINES}"
do
echo ${COUNT}':'${i}
COUNT=$(( COUNT + 1 ))
done
output
0:line1
1:line2
2:line3
0:line1 line2 line3