• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Bash Script: Aurgumente aus Datei holen?

gameboy

Hacker
Hallo robbe,

kannst Du mal ein konkretes Beispiel angeben:

- Wie sieht die Datei mit den Argumenten aus?
- Was soll der "Befehl" (oder das Script?) in etwa tun?

Ich denke, das wird Deine Chancen auf eine verwertbare Antwort massiv steigern... :)

Viele Grüße,
gameboy.
 

regexer

Advanced Hacker
robbe schrieb:
wie kann ich bestimmte zeilen aus einer Datei als argumente zu einem Befehl übergeben?
Ich kann jetzt auch nur ein bisschen raten. Meinst du sowas?
Code:
~> echo '/etc/hosts /etc/passwd' > list
~> ls -l $(cat list)
-rw-r--r--    1 root     root          901 Sep 15 10:12 /etc/hosts
-rw-r--r--    1 root     root          175 Nov 28 22:01 /etc/passwd
 
OP
R

robbe

Newbie
das Konsolen Forum hab ich wohl über sehen o_0
konkret soll das Script so aussehen:
Code:
whois -h whois.ripe.net <1.2.3...Zeile aus der Datei>
also nach einander die Zeilen einfügen und den whois ausführen
die Datei sieht so aus
Code:
AS3
AS4
usw....
mfg robbe
 

TeXpert

Guru
also ganz simpel :) mache was mit jeder Zeile...

dazu gibts 2 Möglichkeiten:

Programmierung:
Code:
while read HOST ; do something with $HOST ; done < INPUTFILE
dabei wird INPUTFILE zeilenweise gelesen oder nutze cat, pipe und xargs.

whois versteht nur eine IP-Adresse als Eingabe, daher
Code:
xargs -n1
(siehe Manpage)

also:
Code:
cat INPUTFILE | xargs -n 1 whois -h whois.ripe.net

natürlich ist das wieder ein useless use of cat ;) wir können wunderbar auch nur mit Bash arbeiten (hier ist auch wieder xargs nötig, um die Eingabe auf eine IP zu beschränken:
Code:
 <hosts xargs -n1 whois -h whois.ripe.net
oder anders sortiert:
Code:
 xargs -n1 whois -h whois.ripe.net <hosts
 
Oben