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

rjee0c15  于 2022-11-02  发布在  Linux
关注(0)|答案(1)|浏览(184)

我尝试在脚本中定义一个别名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]"

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

cwtwac6a

cwtwac6a1#

使用函数。例如:


# !/bin/sh

DEBUG_COLOR=$(tput setaf 1)
RESET=$(tput setaf 9)

echod() { printf "%s%s%s\n" "$DEBUG_COLOR" "$*" "$RESET"; }

echod "\$# = [$#]"
echod "\$1 = [$1]"

相关问题