Ja, ich habe es gerade in Eile geschrieben;) Jetzt editieren.
Ist dies der Fall ?:alias cmd5 = "cd ../../../../../"
ypercubeᵀᴹ
Nun, ich schätze, ich könnte sie für 1 bis 10 oder so aufschreiben, aber es wäre schön, eine clevere Art zu haben, das zu tun. Das passt nicht wirklich zu mir. Wird das tun, wenn keine andere Lösung auftaucht.
Antworten:
16
Fügen Sie dies in Ihre ~/.bashrc:
cdup(){
levels=${1-1}while((levels--));do
cd ..done}
(Der Name cdupstammt vom entsprechenden FTP-Befehl, nur zu Ihrer Information.)
Vielen Dank für die Antwort, ich stimme mit der Antwort von jleedev überein, da sie 1 Zeile kürzer ist und ich mich nicht entscheiden kann, wen ich wählen soll! Danke trotzdem!
@Muu: Beide Antworten werden funktionieren, aber meine werden für viele, viele Ebenen funktionieren, und @jleedevs wird nur für eine kleine Handvoll funktionieren (unabhängig von der Stapelbegrenzung). ;-) (Ich bin mir sicher, dass du niemals an die Grenzen stoßen wirst, aber meine ist allgemeiner, als ich es versuche. :-))
Chris Jester-Young
Guter Punkt, ich habe dir dann die Antwort gegeben. Sorry jleedev - obwohl ich höchstwahrscheinlich weiterhin deine Lösung verwende, da ich vergessen werde, sie zu ändern :)
11
Mir wurde beigebracht, unter solchen Umständen 'pushd' und 'popd' zu verwenden.
Geben Sie beispielsweise "pushd" ein. und dann 'cd / home'. Geben Sie nun 'popd' ein und Sie sind wieder an der Stelle, an der Sie begonnen haben.
'pushd' / 'popd' ist ein Stack. Sie können so viele Verzeichnisse verschieben, wie Sie möchten. Es ist jedoch immer das letzte Mal aktiv, wenn Sie popd ausführen.
Möglicherweise möchten Sie die Verwendung pushdund popddas Setzen von Ortsmarkierungen untersuchen und von jedem Verzeichnis, in das Sie gewechselt haben, problemlos dorthin zurückkehren.
Sie können auch eine Variable mit dem Namen eines Verzeichnisses festlegen, das Sie häufig verwenden, und dort CD:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
cd -
wechsle zurück in das letzte Verzeichnis, in dem du warst. Ich benutze dies die ganze Zeit, um tief in meinem Codebaum zum Wurzelverzeichnis zurückzukehren ... obwohl das nur funktioniert, wenn du es in einem einzigen Verzeichnis abgelegt hast Veränderung.
cdd old new
Dies war eine Skriptfunktion, die ich in der Vergangenheit geschrieben hatte, um mich zwischen ähnlichen Bäumen zu bewegen. Grundsätzlich hat es zwei Argumente und einen regulären Ausdruck auf Ihrem Weg, ideal für die Bewegung zwischen Zweigen und so weiter. Wenn Sie beispielsweise in ~ / bzr / web / trunk / pfad / zu / feature wären und nach ~ / bzr / web / feature-branch / pfad / zu / feature gelangen müssten, würden Sie dies tun cdd trunk feature-branch. Die Implementierung, die ich hatte, war in einer archaischen Shell-Sprache unter AIX, aber sie war ziemlich trivial, sollte also einfach in der Shell der Wahl zu implementieren sein, wenn Sie sie benötigen. Für uns war es sehr nützlich, weil die Struktur so aussah: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... so bewegend in diesem Baum wurde ziemlich schnell verrückt.
ls
? Sicher meinst ducd
?alias cmd5 = "cd ../../../../../"
Antworten:
Fügen Sie dies in Ihre
~/.bashrc
:(Der Name
cdup
stammt vom entsprechenden FTP-Befehl, nur zu Ihrer Information.)quelle
Mir wurde beigebracht, unter solchen Umständen 'pushd' und 'popd' zu verwenden.
Geben Sie beispielsweise "pushd" ein. und dann 'cd / home'. Geben Sie nun 'popd' ein und Sie sind wieder an der Stelle, an der Sie begonnen haben.
'pushd' / 'popd' ist ein Stack. Sie können so viele Verzeichnisse verschieben, wie Sie möchten. Es ist jedoch immer das letzte Mal aktiv, wenn Sie popd ausführen.
quelle
Sicher warum nicht:
quelle
up 500
. :-)Schnell und dreckig:
Formuliert, um das Verzeichnis nur einmal zu ändern.
quelle
Hier ist eine alternative Möglichkeit:
quelle
Möglicherweise möchten Sie die Verwendung
pushd
undpopd
das Setzen von Ortsmarkierungen untersuchen und von jedem Verzeichnis, in das Sie gewechselt haben, problemlos dorthin zurückkehren.Sie können auch eine Variable mit dem Namen eines Verzeichnisses festlegen, das Sie häufig verwenden, und dort CD:
quelle
Ich benutze Autojump, mit dem ich Folgendes eingeben kann :
es kann aus deinen Gewohnheiten lernen und ist sehr leicht (und macht süchtig;))
quelle
Erstellen Sie den Pfad mit
printf
thencd
to it:Benutzen als:
quelle
Zwei Gedanken, die für Sie nützlich sein könnten:
cd -
wechsle zurück in das letzte Verzeichnis, in dem du warst. Ich benutze dies die ganze Zeit, um tief in meinem Codebaum zum Wurzelverzeichnis zurückzukehren ... obwohl das nur funktioniert, wenn du es in einem einzigen Verzeichnis abgelegt hast Veränderung.
cdd old new
Dies war eine Skriptfunktion, die ich in der Vergangenheit geschrieben hatte, um mich zwischen ähnlichen Bäumen zu bewegen. Grundsätzlich hat es zwei Argumente und einen regulären Ausdruck auf Ihrem Weg, ideal für die Bewegung zwischen Zweigen und so weiter. Wenn Sie beispielsweise in ~ / bzr / web / trunk / pfad / zu / feature wären und nach ~ / bzr / web / feature-branch / pfad / zu / feature gelangen müssten, würden Sie dies tun
cdd trunk feature-branch
. Die Implementierung, die ich hatte, war in einer archaischen Shell-Sprache unter AIX, aber sie war ziemlich trivial, sollte also einfach in der Shell der Wahl zu implementieren sein, wenn Sie sie benötigen. Für uns war es sehr nützlich, weil die Struktur so aussah: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... so bewegend in diesem Baum wurde ziemlich schnell verrückt.quelle