こんにちは。 CDについて混乱しています。どうすればいいですか?

こんにちは。 CDについて混乱しています。どうすればいいですか?

Linux端末にcd --と入力しましたが、私が認識していないディレクトリに移動しました。 CD - どこに行きますか?ルートディレクトリですか?

ベストアンサー1

引数が指定されていない場合のデフォルトの動作は、cd変数が提供するディレクトリに移動することです$HOME。これはPOSIXによって実施された:

ディレクトリオペランドが指定されておらず、HOME環境変数が空であるか定義されていない場合、デフォルトの動作は実装によって定義され、追加の手順を実行しないでください。

--それはまた、POSIX機能多くのツールでは、これを使用してオプションの終わりを示します。これは-、たとえば、次のように始まる名前で作業する場合に便利です。たとえば、このディレクトリには次のディレクトリがあります-a

$ ls
-a

これを実行しようとすると、次のような結果がcat得られます。

$ cat -a
cat: invalid option -- 'a'
Try 'cat --help' for more information.

--これが入ってくるところです:

$ cat -- -a
These are the contents of file -a!

したがって、あなたの例では、引数の終わりを示すためにcd実行に従うことです。これは引数なしで実行されると解釈されます。その結果、まるで一人で走るかのように自分の領域に入るようになり、すでにその中にいるなら何も変わらないように見えます。 $grep foo -a--cd$HOMEcd$HOME


後者はより明確なエラーを提供するので、実際に代わりにcd --実行したと仮定します。cd--

$ cd--
bash: cd--: command not found

独自のスクリプトや機能がない場合、cd--私たちは何が起こっているのかわかりませんが、わかりません。

おすすめ記事