如何在bash中获得递归别名?

alp*_*per 1 linux bash shell alias zsh

aliases由于处理一些拼写错误,我有多个别名为一个公共别名。请注意,我用whichzshtypebash

例如:

alias netlab="ssh user@IP_ADDRESS"
alias n=netlab
alias ne=netlab
alias net=netlab
alias nn=netlab
Run Code Online (Sandbox Code Playgroud)

当我尝试获取别名的类型时,我得到以下信息:

$ which -sa n  # in ZSH-shell
n: aliased to netlab

$ type n  # in BASH-shell
n is an alias for netlab
Run Code Online (Sandbox Code Playgroud)

既然netlab也有别名,我也能得到它吗?所以基本上,我想which program递归应用。

我想要的示例输出:

$ type n  # in BASH-shell 
n: aliased to netlab
netlab: aliased to ssh user@IP_ADDRESS
Run Code Online (Sandbox Code Playgroud)

或者只是返回其最新的别名:

$ type n
n: aliased to ssh user@IP_ADDRESS
Run Code Online (Sandbox Code Playgroud)

tha*_*guy 5

您可以使用大括号扩展将多个名称别名为同一个字符串:

alias {netlab,n,ne,net,nn}="ssh user@IP_ADDRESS"
Run Code Online (Sandbox Code Playgroud)