Ich habe oft ein solches Projektverzeichnislayout
project
`-- component-a
| `-- files...
`-- component-b
| `-- files...
`-- component-c
`-- files...
Normalerweise arbeite ich in einem der component
Verzeichnisse, da sich dort die Dateien befinden. Wenn ich dann zur Shell zurückkehre, muss ich oft einfach in ein Geschwisterverzeichnis wechseln, insbesondere wenn ich an jeder Komponente einige nicht skriptfähige Änderungen vornehmen muss. In diesen Fällen ist es mir egal, an welchem vorherigen Geschwisterverzeichnis ich arbeiten werde oder an welchem nächsten Geschwisterverzeichnis ich arbeiten werde.
Kann ich einen Befehl definieren prev
oder next
das bringt cd
mich einfach in das vorherige oder nächste Verzeichnis (nach Alphabet oder was auch immer)? Weil das ständige Tippen cd ../com<TAB><Arrow keys>
etwas alt wird.
quelle
[[ -n $foundcwd ]]
Ihre Antwort unter bash und zsh gleich gut. Sehr schön, und danke, dass Sie dies geschrieben haben.Mit der folgenden Funktion können Sie in Geschwisterverzeichnisse wechseln (Bash-Funktion).
Ein Anwendungsbeispiel:
quelle
Ich habe einen Tipp bei commandlinefu.com gefunden . Ich reposte es hier, um es besser auffindbar zu machen, mit einer Erklärung und einem
next
Befehl, während ich dabei bin.Die Magie befindet sich im Block $ (...). Es leitet einige Befehle wie folgt ineinander:
quelle
"$foo"
,"$(foo)"
). Darüber hinaus ist das Parsen der Ausgabe vonls
unzuverlässig und kann bei Dateinamen mit nicht druckbaren Zeichen fehlschlagen.