Linuxで二重スラッシュが発生する原因は何ですか?


9

TCEを//インストールしていますが、インストールパスにダブルスラッシュ()が表示されています。なぜ彼らはそこにいるのですか?

 100% - /usr/local/games/enemy-territory//tcetest/ReadMe.rtf
 100% - /usr/local/games/enemy-territory//tcetest/changelog.rtf
 100% - /usr/local/games/enemy-territory//tcetest/ui.mp.i386.so
 100% - /usr/local/games/enemy-territory//tcetest/qagame.mp.i386.so
 100% - /usr/local/games/enemy-territory//tcetest/pak3.pk3
 100% - /usr/local/games/enemy-territory//tcetest/pak2.pk3

回答:


9

これは非常に頻繁に発生し、無害です。二重スラッシュは単純なスラッシュのように解釈されます。

man path_resolutionパス解決プロセスを理解するために参照してください)


確認できる記事はありますか?
クラベミル

投稿を編集しました。ただし、ダブルスラッシュの問題はマニュアルページには明示されていませんが、答えを推測することはできます。
ステファン・ヒメネス

1
それでも、実際の質問は残っています。なぜそこにあるのですか。:)
slhck

シンプル:プログラミング。持っているよりも持っている方が良いですし、あなたはいつもあなたが選んだlang / toolのある種の "path.normalize()"を通してそれを実行します。:)
bgs 2013年

13

これは単に、パスを通常のテキスト文字列として連結した結果です。

たとえば、末尾のスラッシュを含む宛先ディレクトリを指定した場合...

DESTDIR = / usr / local / games / enemy-territory / installにします

...そしてインストーラーはこれを次のように使用します:

$(DESTDIR) /tcetest/pak3.pk3

上記の行が展開されると、$(DESTDIR)単に変数の正確な内容に置き換えられ、次のようになります。

/ usr / local / games / enemy-territory / /tcetest/pak3.pk3

Stéphaneが回答で述べたように、パスに2つのスラッシュを含めてもまったく無害です。そのため、ほとんどのインストールスクリプトでは、スラッシュを削除する必要がありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.