Re: bash: alias mkcd='mkdir $1; cd $1' funktioniert nicht ;(
Moin...
On Wed, Oct 15, 2003 at 04:35:36PM +0200, Robert Michel wrote:
> ich versuche alias zu verstehen und zu verweden, jedoch habe ich ein Problem,
> bei dem ich nicht weiter komme. A funktioniert, B funktioniert A;B jedoch
> nicht:
>
> A :)
> user@robins:~/script/$ alias test-mkdir = 'mkdir $1'
> funktioniert:
> user@robins:~/script/$ test-mkdir test
> user@robins:~/script/$ ls
> test
>
> B :)
> user@robins:~/script/$ alias test-cd = 'cd $1'
> funktioniert auch:
> user@robins:~/script/$ test -cd test
> user@robins:~/script/test$
>
> A;B :(
> An für sich sollte man beim alias Befehl auch zwei Befehle, per ";" getrennt
> kombinieren können (Unterverzeichnis test wieder gelöscht)
> user@robins:~/script/$ alias mkcd='mkdir $1; cd $1'
> mkdir: zu wenige Argumente
> »mkdir --help« gibt weitere Informationen.
> bash: cd: test: No such file or directory
>
> A2;B :)
> weder | noch & noch '' wollte mir irgendwie helfen, dagegen funktioniert es
> auch dies:
> user@robins:~/script/$ alias mkcd='mkdir test; cd $1'
> user@robins:~/script/$ mkcd test
> user@robins:~/script//test$
>
> Wie könnte ich doch mit "mkdir $1" ***und*** "cd $1" arbeiten?
Ich habe früher die tcsh benutzt und bin auch recht blauäugig an diese
Problematik gegangen. Die bash ist hier restriktiver/leistungsschwächer.
:) Sobald du etwas mit Argumenten machen willst, musst du eine Funktion
daraus machen. Ich habe mir z.B. eine ffgrep-Funktion gebaut, mit der
ich sehen kann, in welcher Datei mein Suchbegriff vorkommt (ja, ich
weiß, dass es auch fgrep gibt - den gab es damals noch nicht):
ffgrep() {
find . -type f -exec grep -qi $1 {} \; -print
}
Dann kannst du auch locker Befehle kombinieren und mehrfach die
$1-Variablen benutzen.
Christoph
--
~
~
".signature" [Modified] 3 lines --100%-- 3,41 All
Reply to: