[unix-ws] shell function

Jan Bruners lists at bruners.de
Die Mai 20 21:27:45 CEST 2003


Markus Fleck-Graffe <fleck at isoc.de> wrote on Tuesday, May 20, 2003:

>On Mon, May 19, 2003 at 11:44:08AM -0700, Jan Bruners wrote:
>> Liebe Unix-User,
>> 
>> die folgende Funktion in meinem .tcshrc-file gibt mir die Fehlermeldung
>> "illegal variable name":
>> 
>> function finde ( ) { find . -name "$@" -exec cp {} /Users/jan/Desktop \; ; }
>> 
>> Warum klappt das nicht (Mac OS 10.2)?
>
>Vermutlich, weil es bei der "tcsh" keine benutzerdefinierbaren
>Shell-Funktionen gibt? (Die gibt's nur bei den Bourne-Shell-Varianten,
>d.h. "sh", "bash", "zsh", usw.)
>
Danke! Das habe ich gerade nach einer längeren Session mit den UNIX Power Tools
entdeckt. Die Bandbreite bei Unix Shells erstaunt mich immer wieder.

>Am besten ein Shellscript fuer "sh" bauen:
>
>finde.sh:
>--- CUT ---
>#! /bin/sh
>find . -name "$@" -exec cp {} /Users/jan/Desktop \; 
>
>--- CUT ---
>
>Und dann in die ".tcshrc" einen entsprechenen Alias:
>--- CUT ---
>alias finde '/pfad/zu/finde.sh'
>--- CUT --- 
>
Klasse, das funktioniert.

>Oder gleich das Shellscript "finde" nennen und an einer passenden
>Stelle in den eigenen "PATH" stellen.
>
>Mit MacOS X habe ich ansonsten noch keine Erfahrungen gesammelt. Werden bei
>dem einfachen "cp"-Befehl denn auch wirklich alle wichtigen Daten fuer die
>"Desktop"-Benutzung mitkopiert (Resource Fork, Unterverzeichnisse, usw.)?
>
Ich benutze das o.g. Shellscript hauptsächlich für einzelne LaTeX-Dateien (.dvi,
.tex, .sty), die wohl keinen Resource Fork haben. AppleScript-Dateien lassen
sich aber tatsächlich nicht mit cp bewegen.

Vielen Dank nochmal,

Jan Bruners