1
Wenn ich eine Textdatei inventory.txt dass genannt haben sieht wie folgt aus:Wie kann ich Zeilen aus einer Textdatei als Argument einer Schleife
america
mexico
england
Wenn ich diesen Code ausführen, ist es nur durch läuft einmal für america
while read line;
do
while getopts "U:D:" opt;
do
case $opt in
U)
SOURCE=$OPTARG
echo "SOURCE : $SOURCE"
SITEID=$line
echo "SITE : $SITEID " >&2
;;
D)
DEST=$OPTARG
echo "DESTINATION : $DEST" >&2
;;
esac
done
done < inventory.txt
Wie kann ich dies tue für alle Zeilen in meiner Textdatei?
Ihre äußere Schleife 3 Iterationen durch. Aber die innere Schleife wird nur während der ersten ausgeführt. –
Es scheint wirklich seltsam zu sein, die 'while getops'-Schleife mehr als einmal auszuführen, aber wenn du das wirklich tun willst, kannst du OPTIND = 1 ganz oben in der äußeren Schleife setzen. –