blob: 40319cf2285a40e571ccda2ba8a9ecb42bcfad1c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# Swap current directory with marked directory
xd() {
# Refuse to deal with unwanted arguments
if [ "$#" -gt 0 ] ; then
printf >&2 'gd(): Unspecified argument\n'
return 2
fi
# Complain if mark not actually set yet
if ! [ -n "$PMD" ] ; then
printf >&2 'gd(): Mark not set\n'
return 1
fi
# Put the current and marked directories into positional params
set -- "$PMD" "$PWD"
# Try to change into the marked directory
cd -- "$1" || return
# If that worked, we can swap the mark, and we're done
PMD=$2
}
|