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
。我究竟做錯了什麼?
**注意:**最終我想在我的腳本中以紅色顯示錯誤,以黃色顯示警告和以綠色顯示資訊。
文件中的變數
/etc/bash.bashrc
不會被導出。該文件由任何互動式非登錄 shell 讀取,但不是由 shell 腳本讀取(這些是非互動式的)。由於未導出變數,因此它們在腳本環境中不可用。
我建議不要修改分發提供的文件
/etc/bash.bashrc
,而是:
- 在腳本本身中添加變數(不需要導出它們),或者
- 將它們添加(並導出)到您的個人
.bashrc
文件中,或者- 將它們添加(並導出)到一個單獨的
.sh
文件中,在/etc/profile.d
該文件中導出任何登錄 shell 的變數。登錄 shell 可以由您的終端應用程序啟動,也可以由您登錄時的圖形環境啟動(或兩者都啟動)。如果您將變數添加到腳本本身以外的任何位置(在腳本未明確引用的文件中),那麼如果您從
cron
.