Ich bin mir nicht sicher, ob es möglich ist, aber ich erinnere mich an meine alten Zeiten mit AIX. Es war möglich, meinen Pfad zu ändern, indem ich nur sagte, welcher Teil des Pfades durch etwas anderes ersetzt werden musste. Angenommen, ich habe zwei Pfade:
/etc/application-2.0.1/options/default
und
/etc/application-1.0.8/options/default
dass ich von Ordner 1 nach 2 mit einem Befehl wie wechseln könnte
cd /2.0.1/1.0.8/
was im Pfad die Zeichenkette 2.0.1
zu ersetzen würde 1.0.8
. Offensichtlich funktioniert das jetzt bei mir nicht. Aber gibt es einen Weg, dies zu tun?
sudo apt-get install zsh
Dies sollte 10.04 in bash auf Ubuntu arbeiten:
cd ${PWD/old/new}
. Grundsätzlich ersetzt dies das erste Vorkommenold
in Ihrem aktuellen Arbeitsverzeichnis durchnew
. 2 Beispiele unten.Beispiel 1
Beispiel 2
Ausgehend von der obigen Idee von sepp2k könnten Sie eine Funktion wie diese erstellen
und dann etwas wie
mycd 2.0.1 1.0.8
wechseln.quelle
Ich habe diese Funktion selbst verwendet (und verpasst). Es hängt davon ab, welches Aroma und / oder welche Version von * nix Sie verwenden. Wenn Sie bash verwenden, ist dies eine praktische Möglichkeit, die eingebaute CD um diese Funktionalität zu erweitern. Fügen Sie dies in Ihre .bashrc-Datei ein (oder fügen Sie es zum Testen in Ihre Bash-Shell ein und drücken Sie die Eingabetaste).
quelle
Sie erinnern sich wahrscheinlich an die Erweiterung der Geschichte. Ich weiß nicht, was in Ihrer Shell unter AIX verfügbar war, aber eine Möglichkeit, dies in Bash zu tun, ist
^2.0.1^1.0.8
.Die Verlaufserweiterung ist bei Shells wie bash und zsh mit leistungsstarker Befehlszeilenbearbeitung weniger nützlich. Sie können die Pfeiltasten verwenden, um vorherige Befehle abzurufen, und Alt+ ., um das letzte Wort des vorherigen Befehls einzufügen (zweimal drücken, um zum vorherigen Befehl zu gelangen usw.).
quelle
histverify
Option von aktiviertshopt
ist.--norc
beim testen vergessen .Wenn Sie ein vi-Fan sind, können Sie den vi-Modus in Ihrer Shell aktivieren (z. B. bash set -o vi) und den Befehlsmodus von vi ...
Oder Sie könnten eine verrückte Geschichtserweiterung durchführen (getestet in zsh, vielleicht auch in bash):
quelle
Dies ist jedoch nicht sehr hübsch. Sie können es ein wenig aufbessern, indem Sie es in eine Funktion einfügen:
Und dann heißt es so:
Sie müssen den Punkten trotzdem entkommen, aber ich bin sicher, dass dies auch mit ein wenig Nachdenken umgangen werden kann.
quelle
Der obige Befehl tauscht 2.0.1 gegen 1.0.8 im letzten Befehl, seine Arbeit in der Bash
quelle
Um dies zu gewährleisten,
-P|-L|-
verwenden Sie Folgendes:quelle
Ich bin mir bei AIX nicht sicher, erinnere mich aber an einen alten Korn-Shell-Trick für die Solaris-Boxen, die ich früher verwaltet habe. In Ihrem Beispiel geben Sie den folgenden Befehl ein:
Weitere Infos hier .
quelle