【发布时间】:2022-10-24 05:20:46
【问题描述】:
我正在尝试在脚本中定义一个别名alias echod='echo -e "\033[0;31m"'(它以红色打印文本),因此不需要导入 .bashrc。
但是一旦我使用它,我就会得到一个错误:
./.AVVIO.sh: riga 23: echod: command not found
./.AVVIO.sh: riga 24: echod: command not found
我的代码是(行号在方括号中):
#.AVVIO.sh
[10] DEBUG_COLOR='\033[0;31'
[19] alias echod='echo -e \"${DEBUG_COLOR}\"'
[23] echod "\$# = [$#]"
[24] echod "\$1 = [$1]"
我希望以红色打印的代码(第一个参数和参数号)
【问题讨论】:
-
bash manual: "当 shell 不交互时,别名不会展开,除非扩展别名外壳选项设置使用商店。”
-
同样在 bash 手册中:“对于几乎所有目的,别名都被 shell 函数所取代。”