28 lines
673 B
Bash
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}"
|
|
}
|