Bash
BASH_ALIASES 不等於別名
我剛剛認識到(在 Debian 7 中,在 Bash 4.2.37 中)的輸出
BASH_ALIASES
不等於alias
- 根據gnu.org 的 Bash Manual,應該是這種情況:
BASH_ALIASES
一個關聯數組變數,其成員對應於由 alias builtin 維護的內部別名列表。(請參閱 Bourne Shell Builtins)。添加到此數組的元素出現在別名列表中;取消設置數組元素會導致別名從別名列表中刪除。
我得到
ls='ls --color=auto'
了alias
一個空行BASH_ALIASES
。問題:
應該是這樣嗎?這會在未來引起任何問題嗎?
由於我只是好奇並與每個命令的所有選項作鬥爭,這讓我非常頭疼,所以我真的遠離使用自製別名使事情變得更加複雜,我想知道這是否會在不久的將來成為麻煩的根源……
BASH_ALIASES
是一個關聯數組,所以要顯示它:$ declare -p BASH_ALIASES declare -A BASH_ALIASES='([ls]="ls --color=auto" )'
或者:
$ for k in "${!BASH_ALIASES[@]}"; do printf '%s => %s\n' "$k" "${BASH_ALIASES[$k]}"; done ls => ls --color=auto