파일의 각 줄에서 루프를 실행합니다.
if [ -e "/tmp/history" ]; then
while read line; do
connect.sh $line \
&& break
done </tmp/history
fi
이 파일의 형식은 다음과 같습니다.
user\ name user\ password
이렇게 하면 각 줄에 $1
및 $2
for가 포함됩니다 connect.sh
.
$line
그러나 내 while 루프는 에 전달되기 전에 개행 문자를 잃는 것 같아서 connect.sh
가 user\ name
됩니다 user name
.
개행을 유지하기 위해 while 루프를 수정하는 방법이 있습니까?
답변1
-r
변수에 플래그와 큰따옴표를 추가하여 문제를 해결할 수 있었습니다 .
if [ -e "/tmp/history" ]; then
while read -r line; do
connect.sh "$line" \
&& break
done <"/tmp/history"
fi
유제.