ファイル内の各行でループを実行しています。
if [ -e "/tmp/history" ]; then
while read line; do
connect.sh $line \
&& break
done </tmp/history
fi
ファイルの形式は次のようになります。
user\ name user\ password
各行に および が含まれるようにし$1
ます。$2
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