Ich führe für jede Zeile einer Datei eine Schleife aus.
if [ -e "/tmp/history" ]; then
while read line; do
connect.sh $line \
&& break
done </tmp/history
fi
Die Datei ist wie folgt formatiert:
user\ name user\ password
$1
So dass jede Zeile und $2
für enthält connect.sh
.
Doch es scheint, dass bei meiner While-Schleife $line
die Zeilenumbrüche vor der Übergabe an verloren gehen, connect.sh
sodass user\ name
daraus wird user name
.
Gibt es eine Möglichkeit, meine While-Schleife so zu ändern, dass die Zeilenumbrüche beibehalten werden?
Antwort1
Ich konnte das Problem beheben, indem ich das -r
Flag hinzugefügt und die Variable in doppelte Anführungszeichen gesetzt habe.
if [ -e "/tmp/history" ]; then
while read -r line; do
connect.sh "$line" \
&& break
done <"/tmp/history"
fi