便利なシェルスクリプト見せろ
URL:http://pc.2ch.net/test/read.cgi/unix/996949546/
から.
shell
From: [493] 名無しさん@お腹いっぱい。 <sage> Date: 04/02/23 07:56 #!/bin/sh echo -ne "\017"; # SI/SO による半角カタカナを抜ける echo -ne "\e(B"; # ESC $ B による全角モードを抜ける echo -ne "\e[0m"; # 文字の色をデフォルトに戻す exec /usr/bin/reset _______________________________________________________________________________
perl
From: [355] 名無しさん@お腹いっぱい。 <sage> Date: 03/05/18 21:04 バイナリをcatして端末がお亡くなりになったときに。 reset コマンドじゃ復帰しないからね。 #!/usr/bin/perl print "\cO"; # SI/SO による半角カタカナを抜ける print "\e(B"; # ESC $ B による全角モードを抜ける print "\e[[0m"; # 文字の色をデフォルトに戻す EUC-JP なら "\e\$)B\e*I" とかも入れるとよさげ。 _______________________________________________________________________________ From: [356] 355 <sage> Date: 03/05/18 21:05 間違えた。"\e\$)B\e*I" じゃなくて "\e)\$B\e*I" だ。 _______________________________________________________________________________ From: [372] 355 <sage> Date: 03/06/07 00:56 >>355 > print "\e[[0m"; # 文字の色をデフォルトに戻す いまさら気づいたんだけど、[ はひとつだけだね。 どうしても 2 つ書きたかったら "\c[[0m" になる。 _______________________________________________________________________________
prompt に仕込む
From: [375] 名無しさん@お腹いっぱい。 <sage> Date: 03/06/09 09:21 tcsh のばやい。 set prompt = 'おすきなプロンプト' set prompt = '%{^O^[[0m^[))$B^[*I%}'"$prompt" %{...%} の中に仕込む。エスケープシーケンス自体はこれで合ってるのかな? ^O は vi なら CTRL-V CTRL-O、Emacs なら C-qC-o で入力。^[ も同様。 _______________________________________________________________________________ From: [376] 名無しさん@お腹いっぱい。 <sage> Date: 03/06/09 11:56 bashなら PS1='\[\017\e(B\e[0m\e))$B\e*I\]'"$PS1" かな。 _______________________________________________________________________________ From: [377] 355 <sage> Date: 03/06/09 17:30 >>375 > set prompt = '%{^O^[[0m^[))$B^[*I%}'"$prompt" >>376 > PS1='\[\017\e(B\e[0m\e))$B\e*I\]'"$PS1" どちらも )) は ) の間違いだね。 set prompt = '%{^O^[[0m^[)$B^[*I%}'"$prompt" PS1='\[\017\e(B\e[0m\e)$B\e*I\]'"$PS1" ついでに、「^[+$D」または「\e+$D」も入れとくといいかもしれない。 補助漢字使う人はあんまりいないと思うけど… _______________________________________________________________________________ From: [378] 376 <sage> Date: 03/06/09 21:47 >>377 > どちらも )) は ) の間違いだね。 まんまコピって間違いを拡大再生産してしまった。スマソ。 _______________________________________________________________________________
.bashrc に
PS1='\[\017\e(B\e[0m\e)$B\e*I\]'"$PS1"
を書いてみたら,プロンプトの前に "*I" が入る.
PS1='\[\017\e(B\e[0m\e))$B\e*I\]'"$PS1"
なら問題ない.
TERM=linux だと "I" がプロンプトの前に出る.
jfbterm,screen 上ならプロンプトの前に何も出ない.
端末固有
From: [370] 名無しさん@お腹いっぱい。 <sage> Date: 03/06/07 00:08 >>369 少なくとも {x, k}term だと C-v ESC c [りたーん] で文字化け直るよ。 _______________________________________________________________________________
mlterm でも可.
From: [371] 355 <sage> Date: 03/06/07 00:55 >>370 マウスの右ボタンか何かでメニュー出して「Do Full Reset」を選択すれば 同じことになるんじゃなかったっけ? _______________________________________________________________________________