Shell

Liebe/-r Experte/-in,

ich hab da eine Frage nämlich ich möchte ein shellskript schreiben, das die Ausgabe einer datei übergeben bekommt, z. B. folgendes

mac.txt: würde ez.B. 00:89:67:56:56:34 stehen

cat /mac.txt | skript.sh => gebe ich in die bash ein

würde dann der inhalt von mac.txt als skriptargument im shellskript zur verfügung stehen?! oder muss ich dann noch einen skriptinterpreter verwednen?!

schon mal danke im voraus:smile:

Hi,

Ich würde es eher so machen:

./Script.sh Mac.txt

Script.sh
if [-f ${1}]
for ${mac} in cat ${1};do
echo $mac
done
fi

Nicht getestet, sollte trotzdem funktionieren :wink:

Hi,

danke :smile: funktioniert:smile:
ich hab da aber gleich noch eine Frage:wink:
nämlich wenn ich tail -f var/log/messages mach und das dann an das shellskritpt übergebe, würde es dann nach deiner methode auch funktionieren?!
oder wie macht man das dann?!:wink:
./script.sh tail

Hi ,

da man in diesem Fall jede Zeile einzeln übergibt, muss man es mit einer while loop machen.
Dann kann funktioniert auch „cat max.txt |script.sh“

#!/bin/bash
i=0
while read line; do
echo „line $i:“ $line
i=expr $i + 1
done
~

danke :smile: funktioniert:smile:
ich hab da aber gleich noch eine Frage:wink:
nämlich wenn ich tail -f var/log/messages mach und das dann
an das shellskritpt übergebe, würde es dann nach deiner
methode auch funktionieren?!
oder wie macht man das dann?!:wink:
./script.sh tail