Cd-Command

- 是否僅與 cd 一起使用?

  • September 2, 2015

cd -可以在目前目錄和上一個目錄之間切換。

似乎我以前見過-用作其他命令的參數,儘管我不記得是否-與 with 相同cd

我發現這-不適用於ls.

是否- 只與 cd 一起使用?

-POSIX 實用程序語法指南中定義為標準輸入:

Guideline 13:
For utilities that use operands to represent files to be opened for either 
reading or writing, the '-' operand should be used to mean only standard input 
(or standard output when it is clear from context that an output file is being 
specified) or a file named -.

您可以看到此定義用於操作文件以進行讀取或寫入的實用程序。cd不屬於這些實用程序,因此-在 cd 中不遵循此指南。

此外,POSIX 還定義了與cd-有自己的含義:

-
   When a <hyphen> is used as the operand, this shall be equivalent to the 
   command:

   cd "$OLDPWD" && pwd

   which changes to the previous working directory and then writes its name.

cd -實際上是 的簡寫,每次將目錄更改為您cd "$OLDPWD" && pwd所在的目錄時都會設置 where 。$OLDPWD

處理-取決於應用程序。一些應用程序-用來表示STDIN,例如grepawk

正如邁克爾的回答所指出的那樣,其他應用程序可以-用作他們選擇的任何東西的簡寫,其中su,---login

引用自:https://unix.stackexchange.com/questions/146913