[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Irritationen bei find und sh (was: [Zwischenruf:] Verwendung von xargs)



Damit dieser Thread wenigstens noch *etwas* gerettet werden
kann :-)

* Wolfgang Werner schrieb am 12.01.2012 um 23:14 (+0100):

> find ${*}
>
> findet alle Dateien in dem Ordner wo du dich gerade
> befindest. Obwohl mir die Schreibweise völlig unbekannt war.

    $ echo ${*}
                 <---- Nichts außer \n
    $ echo $*
                 <---- dito

Details dazu bei bash(1), Abschnitt PARAMETERS, Unterabschnitt
Special Parameters.

> find .
>
> macht genau das gleiche.

Natürlich.  Durch die Shell expandiert, bekommt find vom ${*} gar
nicht zu sehen.  Deswegen sind alle drei folgenden identisch.

    $ find
    $ find $*
    $ find ${*}

> find /*
>
> findest du alle Dateien von / (root) aus, sprich wirklich alle!

Einspruch!  Auch hier kommt die Shell wieder zuerst und
expandiert "/*".  Dies sind aber nicht alle, sondern nur die
nicht versteckten Dateien bzw. Verzeichnisse.

    $ touch test1 .test2
    $ find *
    test1
    $ find .
    .
    ./test1
    ./.test2

Oder auch

    $ ls
    test1
    $ ls *
    test1
    $ ls .
    test1

Immer zuerst an die Shell denken! :-)

> Aber der Sinn des ganzen erschliesst sich mir hier immer noch
> nicht.

Obwohl die Manual Page zu bash, bash(1), sehr lang und deren
Inhalt sehr komprimiert ist, ist es wirklich zu empfehlen.
Sprich, wenn man sich selbst nicht irgendwann ein ganz gewaltiges
Bein stellen möchte, kommt man *nicht* darum herum.

Zum Einstieg:
http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html

Für später:
http://www.tldp.org/LDP/abs/html/

Auch interessant:
http://www.gnu.org/software/bash/manual/bashref.html
http://de.wikibooks.org/wiki/Batch-Programmierung

Grüße,
Mathias


Reply to: