2012-03-16 14 views
0

/root/file.iniというファイルがあるとします。 UbuntuのシェルでLinuxで二重バックスラッシュを有効にする方法 "\"をパスデリミタとして使用

、我々はこのコマンドを使用してコンテンツを表示することができ、 少ない/root\\file.ini

しかし、Debianのシェルで、以下のコマンドは、ファイルが存在しないことを報告します。

誰もLinuxのサポートをパス区切り文字として "\\"をサポートする方法を知っていますか? "\\"を使ってファイルにアクセスしようとするソフトウェアがあるので、私はそれを解決する必要があります。 ubuntuではうまく動作しますが、debianではうまく動作しません。

おかげ

+0

奇妙に聞こえるウブントで試してみます。 ubuntuでシェルのグローバル設定とユーザ設定を確認しましたか? –

+0

なぜそれが欲しいですか? –

+0

ソフトウェアはバックスラッシュを使用してパス文字列とファイル名文字列(ログから取得)を連結します。今更新するのは適切ではないので、私はそれを回避しようとしています。 – Kert

答えて

1

あなたは(4つのバックスラッシュ)「\\\\」エスケープと第二のための第一および第三のものを試してみましたが、最後の一つはそれらすべてを支配しますか?

2

Linuxは、パスの区切り文字として\をサポートできません(カーネルに大きな変更を加えた可能性があります)。これは、\が有効なファイル名文字であるためです。実際には、ファイル名の一部として許可されていない唯一の文字は/\0(ヌル文字)です。これはUbuntuの下で働いているように見える場合

、その後、私はあなたがおそらくそれが簡単にあなたのプログラムのプラットフォームに依存するために見つけると確信してい/

root\file.iniと呼ばれるファイルが存在するかどうかを確認します。

私は/を述べ、このforum postは、ファイル操作が自動的にホストOS上で使用される実際のパス区切り文字に/を変換する任意のそのANSI Cでプラットフォームに依存しないパス区切り文字で見つかりました。

+0

単一のバックスラッシュではなく、二重のバックスラッシュでなければなりません。 "\\"(時々スタックオーバーフローで4つのバックスラッシュをタイプする必要があります。 – Kert

関連する問題