Der niederländische Datenspezialist Jeroen Janssens hat einen netten Kniff gebloggt, mit dem er im Terminal Lesezeichen für Verzeichnisse verwendet. Es funktioniert recht einfach: Ein paar Funktionen in “~/.bashrc” dienen zum Anlegen oder Löschen symbolischer Links im versteckten Verzeichnis “~/.marks”. Über die Links kann der Anwender zu den eingemerkten Verzeichnissen springen. Damit das funktioniert, fügt man seiner “~/.bashrc” die folgenden Zeilen hinzu:
export MARKPATH=$HOME/.marks
function jump { cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1"
}
function mark { mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$1"
}
function unmark { rm -i "$MARKPATH/$1"
}
function marks { ls -l "$MARKPATH" | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo
}
_completemarks() { local curw=${COMP_WORDS[COMP_CWORD]} local wordlist=$(find $MARKPATH -type l -printf "%f\n") COMPREPLY=($(compgen -W '${wordlist[@]}' -- "$curw")) return 0
}
complete -F _completemarks jump unmark
Anschließend legt man den Ordner “~/.marks” an, und schon kann es losgehen. Wechselt man nun im Terminal zu einem gewünschten Verzeichnis, kann man es mit dem Kommando
mark dir1
unter dem Lesezeichen “dir1” speichern. Mittels “jump dir1” wechselt man später dorthin. Das Kommando “unmark dir1” löscht das Lesezeichen. Übrigens funktioniert auch hier die Vervollständigung der Bash auf Druck der Tabulator-Taste. Schick, nicht?

