Login


 
Newsletter

Thema: Komfortables cd

7 Kommentar(e) || Alle anzeigen ||  RSS || Kommentieren
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Belehrsammer Bash Benutzer. am Do, 7. Mai 2009 um 12:25 #
Vieleiche mag jetzt auch nochmal jemand so nett sein, zu erklären wie man die gleiche Funktionalität in der Z-Shell erreicht. Und bitte nicht mit RTFM antworten.
  • 0
    Von sen am Do, 7. Mai 2009 um 17:02 #
    Würde mich auch mal interessieren. Entgegen aller Behauptung aller Vorposter ist diese Funktion _nicht_ in ZSH integriert und muss demzufolge mit einem dem obigen Script ähnlichem Syntax in die .zshrc oder besser in die .zshenv geschrieben werden.

    Gruß, ein anderer ZSH-Nutzer.

    0
    Von Sven Guckes am Sa, 9. Mai 2009 um 13:29 #
    bei der Z-Shell muss man lediglich die variable CDPATH setzen;
    dann wird die Z-Shell bei einem "cd dir" zunaechst im aktuellen
    verzeichnis nach einem unterverzeichnis "dir" suchen;
    falls kein unterverzeichnis "dir" existiert, so durchsucht
    die Z-Shell die verzeichnisse im pfad $CDPATH der reihe nach.
    falls $CDPATH auch die angabe "." fuer das aktuelle verzeichnis
    enthaelt, so wird es erst dann durchsucht, wenn die
    vorhergehenden verzeichnisse bereits durchsucht wurden.

    beispiel:

    zsh> CDPATH=.:..:~:~/public_html:~/zshbuch.org:/usr/share/docs

    hierbei wird also zunaechst explizit das
    aktuelle verzeichnis (".") durchsucht,
    dann das darueberliegende verzeichnis (".."), so dass
    man leicht in "parallele verzeichnisse" wechseln kann:

    zsh> mkdir /tmp/bar /tmp/foo
    zsh> cd /tmp/foo
    zsh> cd bar
    zsh> pwd
    /tmp/bar

    danach kommt das $HOME verzeichnis dran ("~"), gefolgt
    vom mit den eigenen webseiten ("~/public_html")
    und dem projektverzeichnis fuer das zshbuch.
    als letztes dann das verzeichnis mit
    den installierten dokumentationen.

    zsh> cd zsh
    zsh> pwd
    /usr/share/doc/zsh

    bei der suche ist natuerlich auch die expansion
    eines verzeichnispraefix moeglich:

    zsh> CDPATH=.:~/public_html:~/talks:/etc:/usr/lib:/usr/share/doc
    zsh> cd z[TAB]
    ~/zsh
    ~/zshbuch.org
    ~/public_html/zsh
    ~/talks/zsh/
    /etc/zsh
    /usr/lib/zsh
    /usr/share/doc/zsh
    /usr/share/doc/zip
    /usr/share/locale/zh_CN/
    /usr/share/man/zh_CN/
    /usr/share/zoneinfo/
    /usr/share/zsh

    und wer nach /usr/share/doc/zsh wechseln moechte,
    der kann das auch mit einer moeglichst eindeutigen
    angabe der praefixe der einzelnen komponenten machen:

    zsh> cd /u/s/d/zsh[TAB]
    zsh> cd /usr/share/doc/zsh

    enjoy! :)

    --Sven

    • 0
      Von Robert Tor am Mo, 1. Juni 2009 um 00:46 #
      Muhahah, und da macht Ihr alle so ein Geschrei drum? "nimm die z-shell", "schon mal ZSH gesehen?"...

      CDPATH existiert genauso in der bash, ebenso wie in der ksh (unter meinem geliebten HP-UX).

      Ich habe noch nie mit zsh gearbeitet, nutze aber schon seit 12 Jahren die CDPATH-Variable (in ksh/HP-UX, in Suses bash, Sidux bash, Fedora, Debian, ArchLinux und Ubuntu bash). Worüber redet Ihr hier eigentlich?

      Warum kommt niemand auf die Idee so etwas einfach mal zu MACHEN, anstatt immer nur darüber schlau zu schreiben? Was lernt Ihr heute eigentlich noch?
      Neee, neee, neee

      • 0
        Von Blubb am Fr, 4. September 2009 um 12:54 #
        Jau echt. Wenn die ZSH wirklich so gut ist, verstehe ich auch nicht, warum die Bash noch immer der ultimative Standard ist und warum sie Perl als Shellskriptersatz nicht obsolet gemacht hat.
      0
      Von Blubb am Fr, 4. September 2009 um 12:53 #
      Das ist aber nicht rekursiv, oder irre ich mich?
Pro-Linux
Pro-Linux @Twitter
Neue Nachrichten