我使用两个别名来表示相同的功能
alias lsd=LSD
alias lsdr=LSD
function LSD {
}
现在我需要检查函数是否使用lsd别名运行ls -ld或者如果使用lsdr运行ls -ldr并传递参数。
我可以使用参数,但我想检测函数中的别名,从中调用别名。
答案 0 :(得分:1)
只需设置别名以包含一个额外的参数来标识所使用的别名,并在函数中将该参数从参数列表中移出。
function LSD
{
typeset version=${1}
shift
case ${version} in
1) echo "called as lsd" ;;
2) echo "called as lsdr" ;;
esac
echo "Other args = $*"
}
alias lsd="LSD 1"
alias lsdr="LSD 2"