本地定义的别名在bash脚本中不起作用



我正试图在脚本中定义一个别名alias echod='echo -e "33[0;31m"'(它以红色打印文本(,这样就不需要导入.bashrc。

但我一使用它就出现了一个错误:

./.AVVIO.sh: riga 23: echod: command not found
./.AVVIO.sh: riga 24: echod: command not found

我的代码是(行号用方括号括起来(:

#.AVVIO.sh
[10]   DEBUG_COLOR='33[0;31'

[19]   alias echod='echo -e "${DEBUG_COLOR}"'

[23]   echod "$# = [$#]"
[24]   echod "$1 = [$1]"

我希望代码打印为红色(第一个参数和参数编号(

使用函数。例如:

#!/bin/sh
DEBUG_COLOR=$(tput setaf 1)
RESET=$(tput setaf 9)
echod() { printf "%s%s%sn" "$DEBUG_COLOR" "$*" "$RESET"; }
echod "$# = [$#]"
echod "$1 = [$1]"

最新更新