diff options
Diffstat (limited to 'sh/shrc.d/gd.sh')
-rw-r--r-- | sh/shrc.d/gd.sh | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sh/shrc.d/gd.sh b/sh/shrc.d/gd.sh new file mode 100644 index 00000000..754bd8ff --- /dev/null +++ b/sh/shrc.d/gd.sh @@ -0,0 +1,18 @@ +# Go to marked directory +gd() { + + # 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 2 + fi + + # Go to the marked directory + cd -- "$PMD" +} |