erc*_*rch 2 shell bash alias variable
我刚刚认识到(在 Debian 7 中,在 Bash 4.2.37 中)的输出BASH_ALIASES
不等于alias
- 根据gnu.org 的 Bash 手册,应该是这种情况:
BASH_ALIASES
一个关联数组变量,其成员对应于别名内置程序维护的内部别名列表。(请参阅 Bourne Shell 内置程序)。添加到这个数组的元素出现在别名列表中;取消设置数组元素会导致从别名列表中删除别名。
我得到ls='ls --color=auto'
foralias
只是一个空行BASH_ALIASES
。
应该这样吗?这会在未来造成任何问题吗?
由于我只是好奇并与每个命令的所有选项作斗争,这让我很头疼,所以我真的与自制别名使事情变得更加复杂保持相当的距离,我想知道这是否会在不久的将来成为麻烦的根源......
BASH_ALIASES
是一个关联数组,因此要显示它:
$ declare -p BASH_ALIASES
declare -A BASH_ALIASES='([ls]="ls --color=auto" )'
Run Code Online (Sandbox Code Playgroud)
或者:
$ for k in "${!BASH_ALIASES[@]}"; do printf '%s => %s\n' "$k" "${BASH_ALIASES[$k]}"; done
ls => ls --color=auto
Run Code Online (Sandbox Code Playgroud)