私はこの質問をしたくなりますが、OS-Xおよびおそらく他のPOSIXシステム上の多くのコマンドでは、 組み込みコマンド に関する必要なドキュメントを見つけるのは困難です。
たとえば、cd
コマンドの-P
オプションが何をするのかを知りたい場合は、 man cd
が教えてくれると思いますが、残念ながら恐ろしい "BSD GeneralCommands" ページに移動します。
これらのコマンドの多く(すべて?)は--help
オプションをサポートしていないため、無効なオプションを指定して簡潔な使用法メッセージを表示するのが最善の方法です。例えば:
~ $ cd --tell-me-something-I-didnt-know-damn-you
-bash: cd: --: invalid option
cd: usage: cd [-L|-P] [dir]
POSIX標準の 単純なコマンドセクション を見つけました。それは便利なようですが、基本的なものが欠けているような気がします。そんなに難しいことではないはずです。
組み込みコマンドの詳細な使用法情報を取得する正しい方法は何ですか?
シェルのマニュアルページに目を通さずに組み込みコマンドのヘルプを取得する簡単な方法は、help
です。
$ help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the Shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME Shell variable.
The variable CDPATH defines the search path for the directory containing
DIR. Alternative directory names in CDPATH are separated by a colon (:).
A null directory name is the same as the current directory. If DIR begins
with a slash (/), then CDPATH is not used.
If the directory is not found, and the Shell option `cdable_vars' is set,
the Word is assumed to be a variable name. If that variable has a value,
its value is used for DIR.
Options:
-L force symbolic links to be followed
-P use the physical directory structure without following symbolic
links
-e if the -P option is supplied, and the current working directory
cannot be determined successfully, exit with a non-zero status
The default is to follow symbolic links, as if `-L' were specified.
Exit Status:
Returns 0 if the directory is changed, and if $PWD is set successfully when
-P is used; non-zero otherwise.
cd
は、type CMD
と入力するとわかるように、組み込みのシェルです。
$ type cd
cd is a Shell builtin
Shellビルトインに関するドキュメントは、Shellのマニュアルページにあります。 sh(1) 、 bash(1) 、および bash-builtins(1) =、見出しの下組み込みコマンド、シェル組み込みコマンド、またはBash組み込みコマンド;例えば:
cd [-L | [-P [-e]]] [dir]
現在のディレクトリをdirに変更します。変数
HOME
がデフォルトdirです。変数CDPATH
dirを含むディレクトリの検索パスを定義します。CDPATH
の代替ディレクトリ名は、コロン(:
)で区切られます。CDPATH
のnullディレクトリ名は、現在のディレクトリと同じです。つまり、「.
」です。 dirがスラッシュ(/
)で始まる場合、CDPATH
は使用されません。-P
オプションは、シンボリックリンクをたどる代わりに物理ディレクトリ構造を使用するように指示します(-P
option toset
組み込みコマンド);-L
オプションは、シンボリックリンクを強制的にたどります。-e
オプションが-P
で提供されており、ディレクトリの変更が成功した後、現在の作業ディレクトリを正常に判別できない場合、cd
失敗したステータスを返します。-
の引数は、$OLDPWD
と同等です。CDPATH
の空でないディレクトリ名が使用されている場合、または-
が最初の引数であり、ディレクトリの変更が成功した場合、新しい作業ディレクトリの絶対パス名が標準出力に書き込まれます。ディレクトリが正常に変更された場合、戻り値はtrueです。それ以外の場合はfalse。