»

Redirect in BASH

Log — Tags: — Posted by Starck on June 23, 2013


# 執行 command, 標準輸出結果轉到 correct.txt, 錯誤輸出結果轉到到 error.txt
$ [command] 1> correct.txt 2> error.txt

要讓錯誤輸出結果不顯示, 可以利用/dev/null:

$ [command] 1> result.txt 2> /dev/null



example:

# 顯示 gem 的規格, 如果沒有這個 gem 則不顯示任何訊息
$ gem spec [gem name] 2>/dev/null
# gem spec zurb-foundation 2>/dev/null

Bash Prompt and ANSI Color

Log — Tags: , , — Posted by Starck on March 29, 2013

Bash Setting

Prompt

只要設定 PS1 這個環境變數就可以修改在 Terminal 的提示文字, 通常會在 home 目錄中的 .bashrc 找到定義

export PS1=""

可以使用的 prompt 變數如下:

  • \d : 可顯示出『星期 月 日』的日期格式,如:”Mon Feb 2″
  • \H : 完整的主機名稱
  • \h : 僅取主機名稱在第一個小數點之前的名字
  • \t : 顯示時間,為 24 小時格式的『HH:MM:SS』
  • \T : 顯示時間,為 12 小時格式的『HH:MM:SS』
  • \A : 顯示時間,為 24 小時格式的『HH:MM』
  • \@ : 顯示時間,為 12 小時格式的『am/pm』樣式
  • \u : 目前使用者的帳號名稱,如『root』;
  • \v : BASH 的版本資訊
  • \w : 完整的工作目錄名稱,由根目錄寫起的目錄名稱。但 home 目錄會以 ~ 取代;
  • \W : 利用 basename 函數取得工作目錄名稱,所以僅會列出最後一個目錄名。
  • \# : 下達的第幾個指令。
  • \$ : 提示字元,如果是 root 時,提示字元為 # ,否則就是 $ 囉~

ANSI Color

  • \e[ or \033[ : 代表顏色宣告的開始
  • x;ym : x,y 為顏色值
  • \e[m or \033[m : 顏色宣告結束

顏色值可以參考下面的對照表:

reference

ANSI 256 Color

如果要用到 ANSI 256 color, 可以先下載 colortest 了解想要的顏色編號.

  • \e[38;5; or \033[38;5; : 顏色宣告
  • xm : x 為顏色編號
  • \e[m or \033[m : 顏色宣告結束

我目前的 PS1 設定如下

export PS1="★ \u [\033[38;5;148m \W \033[m] \$ "

export PS1="\e[0;96m☁ \e[m \u [\033[38;5;148m \W \033[m] \$ "

.

(c) 2017 Starck Lin | powered by WordPress