Rondspringen in UNIX terminal

Als je aan meerdere projecten werkt, welke allemaal in verschillende directory’s bevinden dan is het handig om snelkoppelingen te hebben. Voeg onderstaande regels toe aan ~/.bashrc en je kan dmv scd en jcd respectievelijk een directory markeren of ernaar toe gaan. Uiteraard met “tab-completion” support.

function jcd {
cd `grep $1 ~/.jcd | awk '{print $2}'`
}

function scd {
( grep -v "^$1" ~/.jcd; echo $1 `pwd` ) > ~/.jcd.new
mv ~/.jcd.new ~/.jcd
}

function _listcd {
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
opts=$(awk '{print $1}' ~/.jcd | grep "^$2")
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
}

complete -F _listcd jcd
complete -F _listcd scd