[linux-l] bash listen funktionen

Ivan F. Villanueva B. iv at artificialidea.com
Di Mai 23 12:37:21 CEST 2006


Hi Volker,

Am So, Mai 21, 2006 07:18:54 +0200, Volker Grabsch schrieb:
> On Sat, May 20, 2006 at 09:48:50PM +0200, Ivan F. Villanueva B. wrote:
> > Kann man Arrays als Parameter für Funktionen benutzen ?
> 
> Auch wenn sich diese Frage schon erledigt hat: Ich persönlich würde in
> der Bash erst gar keine Listen nehmen. Außer vielleicht für für
> Argumente.
> 
> Das meiste geht IMHO leichter, wenn man die Daten als Stream lässt, und
> dann grep, sed oder awk rüberjagt, mit denen diese "listenartigen"
> Operationen viel leichter zur Hand gehen, als wenn man das zu Fuß
> ("elementweise") in Shellscript ausdrückt.
> [examples]

Vielen Dank für die Beispiele ! Ich werde sie langsam nochmal lesen und BTW sed
lernen.

> BTW, wie hast du es eigentlich gelöst (mit $*, etc.) ?

#!/bin/sh
# configure wmii

xwrite() {
	file="$1"; shift
	echo -n "$@" | wmiir write "$file"
}

#select next view to the current from a list of tags
adjacent() {
    active_tag=`wmiir read /view/name`
    index=1
    for i in "$@" ; do
        (( index += 1 ))
        if [ "$i" == "$active_tag" ]; then
            if [ $index -gt $# ]; then
                xwrite /ctl view "$1"
            else
                xwrite /ctl view "${!index}"
            fi
            return
        fi
    done
}
next() {
    adjacent `wmiir read /tags`
}
prev() {
    adjacent `wmiir read /tags | tac`
}

-- 
Ivan F. Villanueva B.
A.I. library:   http://www.artificialidea.com
<<<          The European Patent Litigation Agreement (EPLA)          >>>
<<<            will bring Software patents by the backdoor            >>>
<<<  http://www.no-lobbyists-as-such.com/florian-mueller-blog/epla/   >>>
<<<                     http://wiki.ffii.de/EplaEn                    >>>



Mehr Informationen über die Mailingliste linux-l