Parameter einzeln abfragen

Antworten
Nachricht
Autor
Fatzke
Beiträge: 3
Registriert: 25. Jun 2006 20:28

Parameter einzeln abfragen

#1 Beitrag von Fatzke » 25. Jun 2006 20:37

Hallo zusammen,

gibt es eine Möglichkeit, die EingabeParameter einzeln einzulesen? Also nicht mit

Code: Alles auswählen

for i 
do ... 
done
sondern irgend ne andere Möglichkeit???

Ich will ein Skript schreiben in dem die ersten Parameter zu einem String zusammengefügt werden und der letzte Parameter ein Dateiname ist.


vielleicht kann mir ja jemand nen Tip geben

viele Grüße
Fatzke

Benutzeravatar
killerhippy
Beiträge: 529
Registriert: 19. Mai 2000 19:36
Kontaktdaten:

#2 Beitrag von killerhippy » 25. Jun 2006 21:13

Tippe mal auf Bash:

siehe man bash, shift [n]
Es gibt keine dumme Fragen!

Killerhippy

Fatzke
Beiträge: 3
Registriert: 25. Jun 2006 20:28

#3 Beitrag von Fatzke » 27. Jun 2006 16:46

alles klar okay!!! vielen Dank


nun hätt ich noch zwei Fragen:

und zwar wie kann ich denn einen ganzen String übersetzen??

Code: Alles auswählen

echo | tr "ist" "war" < klausur  
so würde er mir nur die einzelen Zeichen übersetzten also i mit w s mit t usw.


und meine zweite Frage ist:
Gibt es eine Komandofolge, mit der ich aus einer Datei, Dateiname auslese und deren Inhalt dann ausgebe???
Ich würde das nur über ein Skript hinbekommen aber nicht über eine einzige Kommandofolge?!?!?!!

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#4 Beitrag von Janka » 27. Jun 2006 17:23

1. mit sed, Befehl "s". z.B. sed "s/ist/war/g;" <Eingabedatei >Ausgabedatei

2. cat $(<Namensdatei)

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Fatzke
Beiträge: 3
Registriert: 25. Jun 2006 20:28

#5 Beitrag von Fatzke » 27. Jun 2006 18:16

danke nochmals:

ich hätte nun noch eine Frage:

wenn man Variablen mit Text also Strings vergleicht das geht doch folgendermaßen oder??

Code: Alles auswählen

 if &#91; var1 = var2 &#93; then ... fi
er gibt mir da irgendwie ein Fehler aus:

hier noch der komplette Quellcode:
--> stellt ein skript dar, das die ANzahl der Benutzer ohne DUplikate zählt

Code: Alles auswählen


who > tmp
line_pre=""
counter=0

while read line rest
do
echo $line >> test
done < tmp

more test | sort > test


while read line
do
if test $line_pre != $line
then
&#40;&#40; counter++ &#41;&#41;
line_pre=$line
fi
done < test
echo $counter

rm test
rm tmp

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#6 Beitrag von Janka » 28. Jun 2006 9:39

test gibt einen Fehler, wenn line_pre oder line leer sind, weil da dann nur noch Whitespace steht. Mach mal Doppelhäkchen um $line_pre und $line.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten