聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

十一月 10, 2012
» bash 時間戳記 with $PS1

大約兩年前,凍仁從 KaLUG 的前輩口中得知 bash 的 $PS1 除了可以自訂顏色以外還可以加入時間,就有如即時通訊軟體的時間戳記一般,兩年後的現在凍仁終於掌握到訣竅了

[ jonny@oneiric ~ ] - 01:21
$ echo $PS1 [Enter]
\[\033[0m\][ \[\033[1;33m\]\u\[\033[1;31m\]@\h\[\033[1;31m\] \[\033[1;35m\]\w\[\033[1;35m\]\[\033[0m\] ] - \A\n\[\033[1;37m\]$ \[\033[0m\]

這不是什麼新聞了,連好男人(man page)都有說明,凍仁偏愛二十四小時的 \A
jonny@oneiric:~$ man bash [Enter]

  \t     the current time in 24-hour HH:MM:SS format
  \T     the current time in 12-hour HH:MM:SS format
  \@     the current time in 12-hour am/pm format
  \A     the current time in 24-hour HH:MM format

跟 Ubuntu 預設的樣式比比看就知道改了不少東西。
jonny@oneiric:~$ echo $PS1 [Enter]
\u@\h:\w\$

註:Windows 上的 Cygwin bash 則得把 \A 改成 $(date +%R) 才行。

站內連結:
多彩的 Bash 提示字元($PS1) on Debian 5

資料來源:
How to: Change / Setup bash custom prompt (PS1)

相關連結:
Bash prompt basics @ 尼卡.Nica :: PIXNET ::

一月 18, 2012
» 【Scripts】正體中文的 man page

大家都知道在 Linux 的世界裡有個 man (好男人),但偏偏就是沒有 woman (女人),恰巧有需要觀看英文及正體中文兩個語系的 man (說明文件),凍仁索性就自己創造個 woman.sh 來用。

在 Ubuntu 中文化漸漸完整的現在,連命令列(Command line)的訊息都中文化了,這是件多麼讓人高興的事情啊,但這反而對凍仁不友善

圖 1:中文語系的 woman。

1. 基於個人習慣凍仁都手動將 Command line 的語系改回英文。
jonny@oneiric:~$ vi $HOME/.bashrc [Enter]
tty=`tty`
t=`echo $tty|awk -F "/" '{print $3}'`
if [ "$(tty)" = "/dev/tty1" ] || [ $t = pts ]; then
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
fi

圖 2:英文語系的 man。

2. 有了純英文的 man 又不想放棄中文的說明手冊?那就建立個 woman 來用用!
jonny@oneiric:~$ vi woman.sh [Enter]
 1 #!/bin/bash
2
3 tty=`tty`
4 t=`echo $tty|awk -F "/" '{print $3}'`
5 if [ "$(tty)" = "/dev/tty1" ] || [ $t = pts ]; then
6 export LANGUAGE="zh_TW.UTF-8"
7 export LANG="zh_TW.UTF-8"
8 export LC_ALL="zh_TW.UTF-8"
9 fi
10
11 man $1

3. 新增執行權限。
jonny@oneiric:~$ chmod +x woman.sh [Enter]

4. 加入環境變數。
jonny@oneiric:~$ sudo ln -s $HOME/woman.sh /usr/local/bin/woman [Enter]

5. 測試,結果應與圖 1 相同。
jonny@oneiric:~$ woman man [Enter]

相關連結:
Ubuntu 10.10里安装中文man_Page2

四月 1, 2010
» 【Bash】多彩命令提示字元 on Debian lenny

凍仁前陣子看到 Aminzai 的 Konsole 後就一直想幫自家的 gnome-terminal 做點小小的改變,其實早在大學時代教過了,只要在 bash 的設定檔中更改 PS1 的設定即可。



\[\033[1;31m\]
  • 底線:ANSI 色彩控制語法。
  • 第一組數字:亮度 (普通0, 高亮度1, 閃爍2)。
  • 第二組數字:顏色代碼。

\[\033[0m\]
  • 關閉 ANSI 色彩控制,通常置於尾端。

jonny@debian:~$ vi ~/.bashrc
..
force_color_prompt=yes /* 拿掉 # 好啟動多彩模式 */
..
PS1="\[\033[1;31m\]\u@\[\033[0;32m\]\h\:\[\033[0;34m\]\W\$ \[\033[0m\]"

為什麼要改成呢?那是因為凍仁的這台 Debian 是 IBM Thinkpad A31,相信經過這樣的客制化後,就不會發生不小心把 Server 關機的烏龍事件。

資料來源:
玉米BYIS | 分享一個不錯的 .bashrc SP1設定
Lloyd | 撰寫環境變數設定檔
VBird | 環境設定檔:

support:

biggo.com.tw

biggo.sg

A Django site.