TCSH-Alias

Tronar

aus Überzeugung altmodisch
Ich wollte mir einen kleinen Alias erstellen, der optional ein Argument annimmt, etwa in der Art »bla« und »bla -v«. Im Alias wird dann per »if« geprüft, ob Argument Nr. 1 gleich »-v« ist oder nicht - und entsprechend reagiert. Das Problem ist: Wenn ich im Alias Argument 1 mittels »!^« oder »!:1« anspreche, muß es da sein, sonst meldet die Shell einen Fehler: Bad ! arg selector.
Wie schaffe ich es, daß der Alias auch ohne Argument aufgerufen werden kann?
 
Ja, okay, kann ich machen.
Aber das ist doch etwas sehr Grundlegendes, das muß irgendwie möglich sein. So schrottig kann die TCSH nicht sein.
Hier mal die konkrete Aufgabenstellung:
Der Alias heißt »llast« und soll die zuletzt geänderten n Dateien anzeigen. Aufgerufen wird er z. B. so:
Code:
llast -5

llast *.jpg
llast -5 *.jpg
llast subdir/
Und hier folgt die Definition. Das numerische Argument wird an »head« weitergereicht, der Rest an »ls«.
Code:
alias   llast 'eval "if (\!^ =~ -[0-9]*) then \\

                        ls -GAlFt \!:2* | head \!^ \\
                else \\
                        ls -GAlFt \!*   | head \\
                endif"'
 
Zurück
Oben