1. ホーム
  2. オペレーティングシステム
  3. ユニックス/BSD

Unixのdotコマンドの説明

2022-01-16 11:32:26

Unixのdotコマンド

dot コマンドの構文です。. 外部コマンド

現在のプロセス(子プロセスではない)の環境で外部コマンドを実行し(c の #include 文に似ている)、現在のプロセス(シェル)のすべての変数を継承します。

例 1: コマンド dot

スクリプトファイル bye 、1つのステートメントだけを含む。

出口

外部コマンドとして実行される。

$ chmod u + x bye

$ . /bye --- The child process died as a result of executing the exit command

$ _ --- The current process is still alive and has not exited UNIX


内部コマンドとして実行されるdotコマンドを使用。

$ . . /bye --- The current process died as a result of executing the exit command

UNIX System V Release 4.0

login:_ --- Exited UNIX

外部コマンドは、現在の(親)プロセスの環境変数を変更することはできません。新しいコマンドが現在のプロセスの環境変数を変更するようにするには、dotコマンドを使用します。

例2:dotコマンドで現在のプロセスの環境変数を変更する場合

以下は、ファイルclassic_setの内容です(カレントディレクトリ内)。

バージョン=クラシック

PATH=/usr/local/old_bin:/usr/bin:/bin:. -- PATHには、カレントディレクトリの'.

PS1="クラシック>"。

以下は、ファイル latest_set の内容です(カレントディレクトリ内)。

バージョン=最新

PATH=/usr/local/new_bin:/usr/bin:/bin:.PATH=/usr/local/new_bin:/usr/bin:/bin:。

PS1="最新版>"。

2つのシェルスクリプトをdotコマンドで実行します。

$ . . /classic_set --- dot command, need to point to current directory . /

classic> echo $version --- environment variable PS1 (prompt) is changed to classic

classic --- PATH contains the current directory '.'

classic> . latest_set --- dot command, no need to indicate the current directory. /

latest > echo $version --- The environment variable PS1 (prompt) is changed to latest

latest 

latest >

$ . .profile 

dotコマンドは、現在のシェルで初期化ファイル.profileを実行します。ローカル変数とグローバル変数の両方が現在のシェルで再定義されます。dotコマンドは、ログアウトと再ログインの必要性を排除します。