diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2016-12-11 16:30:47 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2016-12-11 16:38:45 +1300 |
commit | 14b1071636d605771689c0f06c24647531b9d391 (patch) | |
tree | 8ebb4e67d372b4c7e05a3558c55ba0c96e12eabf /sh/shrc.d/bd.sh | |
parent | Still untangling the shell highlighting mess (diff) | |
download | dotfiles-14b1071636d605771689c0f06c24647531b9d391.tar.gz dotfiles-14b1071636d605771689c0f06c24647531b9d391.zip |
Use opening parens for case safety in subshell
Diffstat (limited to 'sh/shrc.d/bd.sh')
-rw-r--r-- | sh/shrc.d/bd.sh | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sh/shrc.d/bd.sh b/sh/shrc.d/bd.sh index 14d65c3b..1043a8cb 100644 --- a/sh/shrc.d/bd.sh +++ b/sh/shrc.d/bd.sh @@ -22,28 +22,28 @@ bd() { case $req in # Just go straight to the root or dot directories if asked - /|.|..) + (/|.|..) dirname=$req ;; # Anything with a leading / needs to anchor to the start of the # path. A strange request though. Why not just use cd? - /*) + (/*) dirname=$req case $PWD in - "$dirname"/*) ;; - *) dirname='' ;; + ("$dirname"/*) ;; + (*) dirname='' ;; esac ;; # In all other cases, iterate through the PWD to find a match, or # whittle the target down to an empty string trying - *) + (*) dirname=$PWD while [ -n "$dirname" ] ; do dirname=${dirname%/*} case $dirname in - */"$req") break ;; + (*/"$req") break ;; esac done ;; |