From 5913fd722ab32670827dd191a5aac0497c16de31 Mon Sep 17 00:00:00 2001 From: Adolfo Perez Alvarez Date: Wed, 28 Jun 2023 13:53:29 +0200 Subject: [PATCH] nsalias - namespaced aliases --- nsalias | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 nsalias diff --git a/nsalias b/nsalias new file mode 100644 index 0000000..13e51c0 --- /dev/null +++ b/nsalias @@ -0,0 +1,32 @@ +function nsalias { + typeset -i i=0 + + case $# in + 0|1) + while (( i < ${#NSCMDNS[@]} )) + do + [[ ( -z $1 ) || ( ${NSCMDNS[i]} = $1 ) ]] \ + && print -c "${NSCMDNS[i]}\t${NSCMDFN[i]}\t${NSCMDSH[i]}" + let i++ + done + ;; + 2) + while [[ $i -lt ${#NSCMDNS[@]} && ( ${NSCMDNS[i]} != $1 || ${NSCMDFN[i]} != $2 ) ]] + do + let i++ + done + (( i == ${#NSCMDNS[@]} )) && return 1 + eval "${NSCMDSH[i]}" + ;; + 3) + (( $# != 3 )) && return 64 + NSCMDNS[${#NSCMDNS[@]}]=$1 + NSCMDFN[${#NSCMDFN[@]}]=$2 + NSCMDSH[${#NSCMDSH[@]}]=$3 + ! alias $1 >/dev/null && alias $1="nsalias $1" + ;; + *) + return 64 + ;; + esac +}