Re: bash: alias mkcd='mkdir $1; cd $1' funktioniert nicht ;(
Hallo,
ich glaube, die anderen Antworten zu diesem Thema haben damit nichts zu
tun (wir reden hier von aliasen und nicht von Scripten. In letzteren
hat cd wirklich keinen Sinn.)
> user@robins:~/script/$ alias test-mkdir = 'mkdir $1'
> funktioniert:
> user@robins:~/script/$ test-mkdir test
> user@robins:~/script/$ ls
> test
Alias haben keine Paraemter. "$1" ist also das, was aktuell in "$1"
steht, wahrscheinlich nichts. In Wirklichkeit rufst Du
test-mkdir test
--> mkdir $1 test
auf, und da $1 leer ist, wird's ein 'mkdir test'
> user@robins:~/script/$ alias test-cd = 'cd $1'
Das selbe wie oben.
> 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
mkcd test
wird zu
mkdir $1; cd $1 test
... und da $1 ja wieder leer ist, also zu
mkdir ; cd test
Alles klar?
Shell-Funktionen wären hier besser, das hast Du sicher gesehen:
function mkcd() { mkdir "$1" && cd "$1"; }
Best regards from Dresden
Viele Gruesse aus Dresden
Heiko Schlittermann
--
SCHLITTERMANN.de ------------------ internet & unix support -
<a href="http://debian.schlittermann.de/"> Debian 3.x CD </a>
Heiko Schlittermann HS12-RIPE -------------------------------
pgp: A1 7D F6 7B 69 73 48 35 E1 DE 21 A7 A8 9A 77 92 -------
gpg: 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B -----
Reply to: