我在文件中的每一行運行一個循環。
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