nsalias - namespaced aliases
This commit is contained in:
parent
e57032ae8b
commit
5913fd722a
32
nsalias
Normal file
32
nsalias
Normal file
@ -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
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user