bash 脚本中的颜色错误/警告/信息

bash 脚本中的颜色错误/警告/信息

所以我在中定义了以下变量/etc/bash.bashrc

RS="\033[0m"    # reset
HC="\033[1m"    # hicolor
UL="\033[4m"    # underline
INV="\033[7m"   # inverse background and foreground
FBLK="\033[30m" # foreground black
FRED="\033[31m" # foreground red
FGRN="\033[32m" # foreground green
FYEL="\033[33m" # foreground yellow

当我做一个echo -e "$FRED Red" 根据提示,我实际上Red在 gnome-terminal 上变成红色,但是当我执行时:

#!/bin/bash

echo -e "$FRED Red"
echo -e "$FYEL Yellow"
echo -e "$FGRN Green"

$TERM即使是,我也得到了默认颜色的所有内容xterm-256color

屏幕截图包括确切的输出

我究竟做错了什么?

笔记:最终,我想在脚本中用红色回显错误,用黄色回显警告,用绿色回显信息。

答案1

文件中的变量/etc/bash.bashrc不会导出。该文件可由任何交互式非登录 shell 读取,但不能由 shell 脚本读取(这些脚本是非交互式的)。

由于变量未导出,因此它们在脚本环境中不可用。

我会建议不是修改发行版提供的文件/etc/bash.bashrc,改为:

  • 在脚本本身中添加变量(不需要导出),或者
  • 将它们添加(并导出​​)到您的个人.bashrc文件中,或者
  • 将它们添加(并导出​​)到一个单独的.sh文件中,在/etc/profile.d该文件下导出任何登录 shell 的变量。登录 shell 由您的终端应用程序或您登录时的图形环境(或两者)启动。

如果添加变量任何地方除了在脚本本身中(在脚本未明确来源的文件中)之外,如果您从cron.

相关内容