- PR -

文字「ポ」の付くファイル名

1
投稿者投稿内容
キック
常連さん
会議室デビュー日: 2005/04/26
投稿数: 44
投稿日時: 2007-04-16 21:18
お世話になります。

Linux(RedHat または Turbo)上で、viコマンドやtarコマンドなどで「ポ」が付くファイルを入力し、実行すると、実行エラーが表示されます。
例)
$ vi ポスト.txt
-bash: スト.txt: command not found
$

何故、この文字だけが生成出来ないのでしょうか?

ご教授よろしくお願い申し上げます。
Wacky
会議室デビュー日: 2006/04/02
投稿数: 14
投稿日時: 2007-04-17 00:00
どういう状況で入力して駄目だったのか、説明した方がよいですよ。

ちなみに以下の環境では問題なく入力できますが?

OS:CentOS 4.4(vim 6.3)
Tera Term UTF-8 から確認

LANG=ja_JP.UTF-8 にて、TeraTerm 送受信共UTF-8
LANG=ja_JP.eucjp にて、TeraTerm 送受信共EUC

SHR
ベテラン
会議室デビュー日: 2006/06/15
投稿数: 99
投稿日時: 2007-04-17 08:16
Wackyさんも書かれておりますが、環境は書いた方が良いですね。

推測ですがSJISを使われているのかと思います。
SJISで"ポ"は0x83 0x7cで、0x7cを"|"と解釈されているのかと思います。
その為、 vi [0x83]|スト.txt を実行しようとして、
パイプで引き渡された"スト.txt"というファイルが無いという事で、
> -bash: スト.txt: command not found
と出ているのではないかと思います。

かといって、SJISで[0x7c]が含まれる文字全てに起きる現象ではないので、
[0x83](NBH)も何らかの原因で引き起こされた事象とは思います。

ちなみに、SJISでvi ポスト.txtを実行したいのであれば、
vi "ポスト.txt"と、ダブルクォートで括ってしまえば良いと思います。
キック
常連さん
会議室デビュー日: 2005/04/26
投稿数: 44
投稿日時: 2007-04-17 11:21
SHRさん、Wackyさん、ご回答ありがとうございます。

環境
REEL3
Turbo8.0

Tera Term UTF-8より下記の通りでviコマンドを行い、正常に「ポスト.txt」が生成されました。
LANG=ja_JP.UTF-8 にて、TeraTerm 送受信共UTF-8
LANG=ja_JP.eucjp にて、TeraTerm 送受信共EUC

私はディフォルトで送受信ともSJISだったので、、、、(恥)
気付かず行ってしまい、おバカなキックでした。

SJISモードでもSHRさんの通りに「vi "ポスト.txt"」でも正常に生成されました。
色々なアドバイスを頂き、勉強になりました。

1

スキルアップ/キャリアアップ(JOB@IT)