名前にマイナス記号のみを含むディレクトリを入力するには?

名前にマイナス記号のみを含むディレクトリを入力するには?

ダウンロードしましたクラス私のWebサーバーに行って解凍しました。

というフォルダが含まれています-。私はこの問題をどのように処理するかを知っていると思いましたが、そうではありませんでした。

試してみましたが、cd -- -欲しい効果はありませんでした。引用符を使用しても影響しないようです。スラッシュをあちこちに入れましたが、うまくいきませんでした。

このフォルダを変更する正しい方法は何ですか?

ベストアンサー1

パラメータになるのを防ぎたいので、パラメータの前に何かを追加してみましょう。現在のディレクトリはを使用してアクセスできるため、.サブフォルダもを使用してアクセスできます。-./-

cd ./-

cd -- -うまくいかない理由は、比較すると実装が異なるためですrm(参照man rmcd確認するman bashまたはman cd)はcd異なる方法で解釈され、-パラメータとして扱われます(参照:man bashまたはman cd)。

cdまた、これは以下で使用できるシェル組み込み関数であることに注意する必要があります。この回答:

cd外部コマンドではなく、シェル組み込み機能です。外部コマンドなど、ブランチ/実行コンテキストでは、別のプロセスではなく、現在のシェルのコンテキストで実行されます。

外部コマンドがありますが、cd何かを行います。全く違う

これは実装が異なる理由を説明します。吹くそしてコアツール2つが異なります。

あなたがこれを信じていないと仮定すると、これをどのように証明できますか?whichと を使用しますtype

 $ which cd && type cd
which: no cd in (/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.2:/usr/games/bin
cd is a shell builtin
 $ which rm && type rm
/bin/rm
/bin/rm is /bin/rm

バラよりman which詳しくはman bashまたはman type~のためtype

おすすめ記事