Re: Shell Script: Variablen aus Schleife exportieren
Alexander Dalloz <[email protected]> Fri, 23 Sep 2005 15:45:07 +0200
| Newsgroups | gmane.linux.redhat.general.german |
|---|---|
| Message-ID | <[email protected]> |
Am Fr, den 23.09.2005 schrieb [email protected] um 10:46: > Ich muss aus einer Datei einzelne Zeilen auslesen, die ich in einem > Array Speichern will. > Dieses Array soll wenn die Datei zuende gelesen ist zurückgegeben > werden: > CODE > > get_patterns() > { > i=0 > grep -v "^#" $file_in | while read pattern > do > patt[$i]="$pattern" > let i++ > done > return ${pattern[*]} > } > > get_patterns > echo "$?" > > > > 1. Kann ich überhaupt mit return nicht-integer Werte zurückgeben? > wenn ja, wie? IMHO nein. > 2. Wie kann ich auf den Wert von "i" auch ausserhalb der Schleife > zugreifen? > Ich habe es schon mit export und declare -x versucht, aber das hab ich > entweder nicht richtig gemacht oder es geht damit garnicht! So geht das nicht. Durch die Pipe arbeitest du mit einer subshell. Die korrekte Lösung funktioniert nach folgendem Prinzip: while read foo; do whatever done < <(grep -v '^#' file) Referenz: http://www.tldp.org/LDP/abs/html/process-sub.html > Heiner Wulfhorst Alexander -- Alexander Dalloz | Enger, Germany | GPG http://pgp.mit.edu 0xB366A773 legal statement: http://www.uni-x.org/legal.html Fedora Core 2 GNU/Linux on Athlon with kernel 2.6.11-1.35_FC2smp Serendipity 15:41:17 up 2 days, 23:26, load average: 0.16, 0.13, 0.15 _______________________________________________ redhat-list-de mailing list [email protected] https://www.redhat.com/mailman/listinfo/redhat-list-de
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBDNAbjEEG6lbNmp3MRAqm8AJ49F2Nyb2ToviVmdbtV2/aSqDXrDQCfWaST N1/x6tgF7DwS7lfbeyTdl3c= =4U/u -----END PGP SIGNATURE-----