便利なシェルスクリプト見せろ
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」を選択すれば 同じことになるんじゃなかったっけ? _______________________________________________________________________________