From: Oleg Broytman Date: Tue, 5 Nov 2019 01:42:08 +0000 (+0300) Subject: .shellrc: Fix `cdremote` X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=commitdiff_plain;h=8abda4557657577bb535dc52ffacab9aabbef3b5 .shellrc: Fix `cdremote` `_list_remotes` and arrays are available only under bash. --- diff --git a/.shellrc b/.shellrc index 16102b4..5200b80 100644 --- a/.shellrc +++ b/.shellrc @@ -231,14 +231,20 @@ if test -x /usr/bin/git >/dev/null 2>&1; then return 1 fi - _list_remotes '^\(file:/\|/\|\.\./\)' # (file:/ or / or ../ at the beginning) - if [ ${#GIT_REMOTES[*]} -eq 1 ]; then - remote=${GIT_REMOTES[0]} - unset GIT_REMOTES - cdgitpath remote.$remote.url + if test -n "$BASH_VERSION"; then + _list_remotes '^\(file:/\|/\|\.\./\)' # (file:/ or / or ../ at the beginning) + if [ ${#GIT_REMOTES[*]} -eq 1 ]; then + remote=${GIT_REMOTES[0]} + unset GIT_REMOTES + cdgitpath remote.$remote.url + else + unset GIT_REMOTES + echo "Cannot find directory for any remote" >&2 + echo "Usage: cdremote [remote_name]" >&2 + return 1 + fi else - unset GIT_REMOTES - echo "Cannot find directory for any remote" >&2 + echo "Cannot find directory for remote $1" >&2 echo "Usage: cdremote [remote_name]" >&2 return 1 fi