web-dev-qa-db-ja.com

「BSD一般コマンド」に関するドキュメント

私はこの質問をしたくなりますが、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標準の 単純なコマンドセクション を見つけました。それは便利なようですが、基本的なものが欠けているような気がします。そんなに難しいことではないはずです。

組み込みコマンドの詳細な使用法情報を取得する正しい方法は何ですか?

5

シェルのマニュアルページに目を通さずに組み込みコマンドのヘルプを取得する簡単な方法は、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.
6
terdon

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です。変数CDPATHdirを含むディレクトリの検索パスを定義します。 CDPATHの代替ディレクトリ名は、コロン(:)で区切られます。 CDPATHのnullディレクトリ名は、現在のディレクトリと同じです。つまり、「.」です。 dirがスラッシュ(/)で始まる場合、CDPATHは使用されません。 -Pオプションは、シンボリックリンクをたどる代わりに物理ディレクトリ構造を使用するように指示します(-P option to set組み込みコマンド); -Lオプションは、シンボリックリンクを強制的にたどります。 -eオプションが-Pで提供されており、ディレクトリの変更が成功した後、現在の作業ディレクトリを正常に判別できない場合、cd失敗したステータスを返します。 -の引数は、$OLDPWDと同等です。 CDPATHの空でないディレクトリ名が使用されている場合、または-が最初の引数であり、ディレクトリの変更が成功した場合、新しい作業ディレクトリの絶対パス名が標準出力に書き込まれます。ディレクトリが正常に変更された場合、戻り値はtrueです。それ以外の場合はfalse。
4
artistoex