[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:15355] bash の初期化がおかしい
- From: Tomohiro KUBOTA <tkubota@xxxxxxxxxxx>
- Subject: [debian-devel:15355] bash の初期化がおかしい
- Date: Mon, 28 Oct 2002 15:37:15 +0900
- List-help: <mailto:debian-devel-ctl@debian.or.jp?body=help>
- List-id: debian-devel.debian.or.jp
- List-owner: <mailto:debian-devel-admin@debian.or.jp>
- List-post: <mailto:debian-devel@debian.or.jp>
- List-software: fml [fml 4.0.3 release (20011202/4.0.3)]
- List-unsubscribe: <mailto:debian-devel-ctl@debian.or.jp?body=unsubscribe>
- X-h-s-loop-check-ejzfr:
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-devel-ctl@debian.or.jp; help=<mailto:debian-devel-ctl@debian.or.jp?body=help>
- X-ml-name: debian-devel
- X-mlserver: fml [fml 4.0.3 release (20011202/4.0.3)]; post only (only members can post)
- X-spam-checker-version: SpamAssassin 2.31 (devel $Id: SpamAssassin.pm,v 1.94.2.2 2002/06/20 17:20:29 hughescr Exp $)
- X-spam-flag: YES
- X-spam-level: ************
- X-spam-report: 12.4 hits, 10 required; * -0.2 -- ISO-2022-JP message * 0.5 -- To: repeats local-part as real name * -2.4 -- BODY: ISO-2022-JP message * 2.4 -- BODY: Contains at least 3 dollar signs in a row * 1.1 -- BODY: A word in all caps repeated on the line * 8.0 -- BODY: 8bit message * 3.0 -- BODY: message body is 50-75% uppercase
- X-spam-status: Yes, hits=12.4 required=10.0 tests=ISO2022JP_CHARSET,TO_LOCALPART_EQ_REAL,ISO2022JP_BODY, CASHCASHCASH,DOUBLE_CAPSWORD,EIGHTBIT_BODY,UPPERCASE_50_75 version=2.31
- Message-id: <200210280652.g9S6qTw20549@xxxxxxxxxxxxxxxx>
- X-mail-count: 15355
- User-agent: Wanderlust/2.8.1 (Something) SEMI/1.14.4 (Hosorogi) FLIM/1.14.4 (Kashiharajing-mae) APEL/10.4 Emacs/21.2 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)
久保田です。
この現象は bash のバグだと思うのですが、BTS で英語で説明するよりも
こちらのほうが解決の近道かもしれないと思うので、こちらに投稿します。
bash 2.05b-3 を使っています。ja_JP.eucJP ロケールを作ってあります。
また、~/.bash_profile と ~/.bashrc の両方に
LANG=ja_JP.eucJP
export LANG
と書いていある状態です。
まず、この状態で (ssh を使って) ログインすると、(1) cd コマンドの
エラーが (過去の OUTPUT_CHARSET 問題のときみたいに) 「?」で表示され、
(2) bash 2.05b-1 から有効になったはずのマルチバイト/マルチカラム文字
の編集機能が働きません。
まず (1) ですが、
$ echo $LANG
ja_JP.eucJP
$ set | grep LANG
LANG=ja_JP.eucJP
$ cd notexist
-bash: cd: notexist: ??????????????????????
となります。(2) は、たとえば「あ」と入力してから Backspace を押すと、
「あ」という文字全体が消えるべきなのに、右半分しか消えません。
次に、
$ LANG=ja_JP.eucJP
としてみます。本来なら、LANG はすでに ja_JP.eucJP に設定されている
はずなので、何の効果もないはずです。が、これを行うと、(2) が解決
してしまいます。(1) は解決しません。
さらに、LANG=ja_JP.eucJP の状態で、bash を手動で起動してみます。
$ echo $LANG
ja_JP.eucJP
$ bash
$ echo $LANG
ja_JP.eucJP
$ cd notexist
bash: cd: notexist: そのようなファイルやディレクトリはありません
$ exit
exit
$ cd notexist
-bash: cd: notexist: ??????????????????????
と、起動した bash の中でのみ (1) が解決していることがわかります。
なお、起動した bash の中では、(2) も解決しています。
今回は、OUTPUT_CHARSET {シェル変数|環境変数} をいろいろいじって
みても、(1) の解決には役に立たないことが分かりました。
これは、bash の起動および初期化プロセスに何か問題があるような
気がします。つまり、bash の起動時にすでに LANG が設定されていれば
エンコーディング変換およびマルチバイト/マルチカラム編集機能が
正しく動くけど、~/.bash_profile や ~/.bashrc の中だとだめです。
LANG の値そのものは設定されているので、~/.bash_profile や
~/.bashrc が認識されていないということはありません。
(また、「cd notexist」に対するメッセージの最初の文字「-」も、
ちょっと気になります。何なのでしょうか?)
バグの原因が見当がつきそうな方は、いらっしゃいませんか。
あるいは、「うちではうまく動いてるけど...」という方が
いらっしゃったりしますか?
---
久保田智広 Tomohiro KUBOTA <kubota@debian.org>
http://www.debian.or.jp/~kubota/
"Introduction to I18N" http://www.debian.org/doc/manuals/intro-i18n/