Archive

Posts Tagged ‘bash’

2月
01

基本

プロンプトは表示されるエスケープシーケンスとそうでない制御を含む部位の組み合わせで表現する。
表示されない部分を作るのは以下のエスケープシーケンス。

[ 表示されない文字列の開始。端末制御シーケンスをプロンプトに埋め込む。
] 表示されない文字列の終り。
e[ 制御の記述開始。bash2.0以前では 33[
m] 色指定のときの終わりの囲み

結果的に、

  • [e[(色)m]
  • [e[(制御)m]

のどちらかになる。
後はこれの組み合わせ

(例)

[e[(色)m][e[(制御)](表示させたい項目)

エスケープシーケンス

a ASCII のベル文字 (07)
d “曜日 月 日”のフォーマットによる日付け(例 “Tue May 26”)
e ASCII のエスケープ文字 (033)
h 最初の”.”のところまでのホスト名
H ホスト名
n 改行
r 復帰
s シェル名、$0 のベース名(最後のスラッシュの後ろの部分)
t 24時間制の HH:MM:SS のフォーマットによる時間
T 12時間制の HH:MM:SS のフォーマットによる時間
@ am/pm をつけた12時間制のフォーマットによる時間
u 現ユーザーのユーザー名
v bash のバージョン(例 2.00)
V bash のリリース番号、バージョンとパッチレベル(例 2.00.0)
w 現在のディレクトリ
W 現在のディレクトリのベース名
! 現在のコマンドのヒストリー番号
# 現在のコマンドのコマンド番号
$ UIDが0なら#、そうでなければ$
nnn 8進数nnnに対応する文字
バックスラッシュ

色づけ

表示されないエスケープシーケンスは、[33[ と ] で囲んでやる必要がある。
色のエスケープシーケンスの場合は後ろに m] をつけてやる必要がある。

(例)プロンプトにブルーのテキストを入れるには、

PS1='[e[1;30m]u@h:W$[e[0m] '
  • 色の定義
Black 0;30 Dark Gray 1;30
Blue 0;34 Light Blue 1;34
Green 0;32 Light Green 1;32
Cyan 0;36 Light Cyan 1;36
Red 0;31 Light Red 1;31
Purple 0;35 Light Purple 1;35
Brown 0;33 Yellow 1;33
Light Gray 0;37 White 1;37

,

10月
08

Linux コマンド 勉強中 – コマンド一覧.

久々に見つけた見やすいLinuxコマンドリファレンスサイト。
充実度はこれから検証。

,

10月
08

コマンド叩くと通常標準出力とエラー出力が表示される。
特段問題無いけど消せないエラーが出力される場合の対策。

具体的には、madwifiの安定版は、最新カーネルでの動作保証が無いのか、
wireless tools使って何かしら出力すると毎回そのような旨のエラーが出力される。
watchと組み合わせて監視しようとすると、これが邪魔でうまくいかない。
で、以下のようにすると良いらしい。

iwconfig ath0 2>/dev/null

「2」の部分は、1が標準出力、2がエラー出力に対応していて、
出力先を /dev/null とすることで破棄することができるとのこと。
ついでに、watchと組み合わせる際、コマンドが複数にわたる場合は、
ターゲットコマンド部分を”で囲ってやる必要がある。

watch -n 1 “iwconfig ath0 2>/dev/null | grep Mode”

丁寧に教えてくれたしんじさんに感謝♪