「-」(マイナス)で始まる名前のディレクトリにcdする方法は?


10

名前が「-」で始まるフォルダがいくつかあります。端末でそれらを入力しようとするcdと、「-」がオプションとして解釈されます。これをどうやって管理できますか?


1
ディレクトリ/フォルダ名にそのような文字を使用しないことをお勧めします。
Mindwin 2017年

あなただけではできませんcd '-my-directory'か?
OldBunny2800 2017年

@ oldbunny2800やってみましたか?
ノーヒルサイド

1
@ OldBunny2800いいえ。引用符により、シェルは文字を個別に処理できません。ハイフンで始まる文字列、それらの文字列がシェルにどのように提示されたかに関係なく、引数を受け取るコマンドによってオプションとして(またはオプションとして)扱われます。
chepner 2017年

1
@patrixコメントを投稿した直後にやりましたが、他の終末の悪ふざけに気を取られ、私のコメントを忘れてしまいました。:)チェプナーああ、それはもっと理にかなっています。
OldBunny2800 2017年

回答:


20

これはうまくいくはずです:

cd /path/to/-folderthatstartswithdash

編集

この質問によると、これは名前を入力するだけの場合に機能します。

cd -- -folderthatstartswithdash

5
この--方法は正解です...これは、ファイル名を引数として受け入れ、パスを完全に修飾する必要がないほとんどの標準ユーティリティで動作します。
Kaithar 2017年

この--メソッドは、引数の解析を「オフにする」ときに機能します。
トニーウィリアムズ

3
なぜ「名前だけを入力したいのか」という制限があるのですか?さらに引数が必要な場合は、の前に配置してください--
Federico Poloni 2017年

@FedericoPoloniフルパスが必要ない場合は、これを使用できます。他のすべての引数は-の前に置く必要があります。
トム・シェン

19
cd ./-folder

通常、ここで(そして他のコマンドでも)うまく機能します


このソリューションの良い点の1つは、「cd」だけでなく、あらゆるプログラムやコマンドで機能することです。後続の引数の解釈を変更するために、「-」のような特別な動作をするコマンドまたはプログラムに依存しません。
ラリーグリッツ

-5

名前を引用符で囲んでも問題ありません。


3
なぜそれがうまくいくのでしょうか?ユーティリティはどのように違いを知るのですか?引用はシェルによって行われ、結局、ユーティリティが受け取る引数の配列はどちらの方法でもまったく同じになります。私はあなたの解決策を試していないことを認めますが、私がシェルについてほとんど何も知らないことから、これはおそらく機能しないことがかなり自明のようです。
イェルクWミッターク

これはWindows IIRCで動作するはずであり、最初に考えたとおりですが、Macでは動作しないことを確認できます。
Cullub 2017年

2
それがWindowsで機能するのは、Windowsのコマンドラインモデルがまったくばかげて一貫性がないためです。あるいは、Windowsコマンドが-オプション文字として扱われていないからです。しかし、引用によってこの動作を変更できるはずはありません。
R .. GitHub STOP HELPING ICE
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.