我在文件中的每一行运行一个循环。
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
。
然而,我的 while 循环似乎$line
在传递到 之前失去了换行符,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