Shell Script Problem
Jan 'RedBully' Seiffert
redbully at cc.hs-owl.de
Fri Jan 22 02:07:44 CET 2010
Ralph Meyer schrieb:
> Hallo Liste,
>
> ich versuch mich gerade etwas in Shell Programmierung.
> Nicht allzu einfach wie ich finde.
>
> Ich möchte mit dialog ein Menü generieren, wobei
> die einzelnen Optionen aus einer Datei kommen sollen.
> Aus verschiedenen Beispielen hab ich mir folgendes gebastelt.
>
> <-- Code
>
> #!/bin/sh
>
> array=`cat targets.conf`
> n=0
> for item in $array[@]
> do
> menuitems="$menuitems $n ${item}"
> let "n = $n + 1"
> done
>
awk ftw!
menuitems=`awk '{ printf "%i \"%s\" ", NR, $0 }'`
[snip]
> Wie kann ich eine Zeile als ein array Element einlesen ?
Vergiss arrays, das ist eine BASH erweiterung, denke in streams.
Subshells helfen.
$(
line_nr=0;
while read line ; do
echo -n $line_nr
echo -n " "
echo -n $line
let "line_nr = $line_nr + 1"
done
) < input_file.txt > output
Da koennen jetzt noch Syntaxfehler drin sein, aber im Prinzip geht das, ich hab
da mal so ein paar Monster ueber drei subshells zusammen gepiped...
> Mit cat, wie hier, macht er ja 4 Elemente draus.
> Und wie kann ich mir dann den Zeileninhalt zurückgeben
> lassen ?
Eigentlich mit sed, der ja wie ed steuerbar ist (nein, nicht nur immer
substitute, auch sowas wie gib mir die 4te Zeile), ich kann nur ed nicht steuern...
>
> Ich hoffe es ist einigermaßen verständlich was ich möchte
> und jemand kann mir helfen.
>
> Ralph
Gruss
Jan
--
Wir evaluieren unsere proaktiven Optionen,
um den logischen Shift der antizyklischen Basics zu wagen.
More information about the Linux
mailing list