for-Schleife

J

Jettaman

Grünschnabel
Hi, ich hab mal ne ganz dumme Frage... ;)
Ich hab ein Programm, dass mit einem Parameter ausgeführt werden soll. Da ich die ganzen Parameter nicht jedes mal neu abtippen will (die stehen in einer Datei mit viielen Zeilen), wollte ich das mit einer for-Schleife vereinfachen.

Code:
for i in liste; do
  anwendung $i
done

Allerdings werden nicht die einzelnen Parameter übermittelt, sondern "liste", sprich der Dateiname. Könnt ihr nem Linux-Neuling sagen was falsch ist? Oder bin ich da mit einer while-Schleife besser aufgehoben?

mfg
Jettaman
 
Hi,
vielleicht könnest du mal die Datei mit den Parametern posten.

Mfg

Sebi
 
Die Datei mit den Parametern besteht aus einer Liste mit IP Adressen, in etwa so

Code:
192.168.23.1
192.168.23.2
192.168.23.3
192.168.23.4
192.168.23.5
192.168.23.6
192.168.25.23
192.168.25.30
192.168.25.35

usw...
 
Nimm keine for-Schleife! Nimm diesen while-Loop. :)
Code:
while read IP; do
echo $IP
done < ipliste.txt
 
Funktioniert, danke!!

Ich hatte mich schon einmal an der while Schleife probiert, aber ich weiß nicht mehr wo mein Fehler lag, danke.

mfg
Jettaman
 
Kein Problem,
google mal nach ABS guide (Advanced Bash Scripting guide)
 
Mit einer for-Schleife läßt sich das Problem auch lösen:

Code:
for IP_ADRESSE in $(cat ip-adressen.txt); do
    echo $IP_ADRESSE
done
 
Und ohne cat geht das so :D
Code:
for IP_ADRESSE in $(<ip-adressen.txt); do
    echo $IP_ADRESSE
done
 
Dann lieber ein paar Zeichen mehr und lesbarer. ;)
 

Ähnliche Themen

[gelöst] - for file in ... nur für bestimmte Endungen?

for schleife für eine Zeile

HandbrakeCLI Shell Skript

Wie finde ich Leerzeichen im dateinamen

Ordnerdurchlauf for-Schleife & find MIT Leerzeichen

Zurück
Oben