dotfiles/zsh/aliases.d/cd.zsh
2015-07-16 18:57:43 +02:00

28 lines
673 B
Bash

# CD
alias ..='cd ../'
alias ...='cd ../../'
alias ....='cd ../../../'
alias .....='cd ../../../../'
# Go up [n] directories
function up()
{
local cdir="$(pwd)"
if [[ "${1}" == "" ]]; then
cdir="$(dirname "${cdir}")"
elif ! [[ "${1}" =~ ^[0-9]+$ ]]; then
echo "Error: argument must be a number"
elif ! [[ "${1}" -gt "0" ]]; then
echo "Error: argument must be positive"
else
for i in {1..${1}}; do
local ncdir="$(dirname "${cdir}")"
if [[ "${cdir}" == "${ncdir}" ]]; then
break
else
cdir="${ncdir}"
fi
done
fi
cd "${cdir}"
}