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

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: