まず、 type .
を呼び出す必要があります 、あなたはおそらく次のようなものを得るでしょう:
. is a shell builtin
ビルトインはシェルの一部であり、独自のマニュアル ページはありません。ただし、それらの一部はそれらを持っているように見える場合があります。 echo
は Bash に組み込まれていますが、おそらく /bin/echo
のような別の実行可能ファイルがあります。 あなたのシステムで、この場合は man echo
後者を指します .この 2 つの echo
s はおそらく厳密には同等ではありません。
シェルは help
を介してビルトインに関する情報を提供する場合があります 組み込み; help help
を試してください 、 help type
最後に:
help .
ビルトインは、シェルのマニュアル ページにも記載されている場合があります。例えば。 (私の Debian では) Bash ビルトインは man bash
で直接カバーされています 、まだ Zsh 組み込み man zsh
用 man zshbuiltins
を実行するよう指示されます .一般に、シェルはそのビルトインを説明する場合と説明しない場合があります。
man sh
を使ってみてください または man bash
または、使用しているシェルのマニュアルページ。 (おそらく man $SHELL
.)
これは公式には「ポイント」コマンドと呼ばれていませんが、source
指図。 source
という単語を検索しています 役立つかもしれません。
たとえば、bash の man ページ (「各組み込みコマンド」を検索) にアクセスすると、ドキュメントがすぐに見つかります。
使用方法については、ここで説明できます。これを source
と呼びます。 一部のシェルを使用している場合はピリオドだけに省略できることを認識しており、一部のシェルではコマンドが必要になる場合があります (ドットは認識される可能性がありますが、単語全体 source
そうではないかもしれません)。
source
を使用する場合 コマンドを実行すると、シェルはスクリプト ファイルから各行を読み取り、それを実行しようとします。ファイルに対する「読み取り」権限が必要です。 (「実行」権限を持っているかどうかは問題ではありません。) 変数を変更すると、現在のシェルに影響を与える傾向があります。
一方、ファイルを実行しようとすると、シェルはオペレーティング システムにこの要求を処理するように要求します。これには「実行」権限が必要です。 (OpenBSD などの一部のシステムでは、このために「読み取り」パーミッションは必要ありません。多くの Unix バリエーションを含む他のシステムでは必要になります。) ファイルは適切なヘッダーで開始する必要がある場合があります (例:#!/bin/sh
) であるため、オペレーティング システムはこれをスクリプト ファイルとして認識します。オペレーティング システムは、要求されたシェルのコピーを実行し、そのシェルにスクリプトの内容を実行するように指示します。シェル環境が変更された場合 (たとえば、変数が新しい値を取得したり、作業ディレクトリが変更されたりします (cd
を使用) )、ファイル記述子がリダイレクトされます (exec
を使用) ) など)、スクリプトに対して呼び出されたサブシェルのみに影響し、スクリプト ファイルを呼び出した親シェルの環境を変更することはできません。
忘れられがちなので、誰も言及していません。
あなたの最大の手がかりは、役立つコマンド whatis
から得られるでしょう .
[email protected] ~ $ whatis .
builtins (1) - bash built-in commands, see bash(1)
[email protected] ~ $ whatis source
builtins (1) - bash built-in commands, see bash(1)
[email protected] ~ $ whatis bash
bash (1) - GNU Bourne-Again SHell
[email protected] ~ $ whatis lynx
lynx (1) - a general purpose distributed information browser for the World Wide Web
[email protected] ~ $ whatis linux
linux: nothing appropriate.
[email protected] ~ $ whatis whatis
whatis (1) - display one-line manual page descriptions
編集:
一部の人々はコメントで、これは一部のディストリビューションには含まれていないことを指摘しています-インストール可能なパッケージであるか、何らかの方法で有効になっている可能性があります-私はgentooでデフォルトで持っていました;)
これには、どの実行可能ファイルが呼び出されたかを示す which - と、名前を付けた実行可能ファイルへのすべてのパスを提供する whereis と、man ページ (複数のパスに存在する場合) が含まれています。