Bash Wiki
Posts (Latest 30 updated) :
Read all
Contents:
  1. [Linux] Bash exec 使用法: プロセスを置き換える
    1. 概要
    2. 使用法
    3. 一般的なオプション
    4. 一般的な例
      1. 例 1: シェルを新しいコマンドで置き換える
      2. 例 2: 環境変数を引き継がないでコマンドを実行
      3. 例 3: ログインシェルとして新しいシェルを起動
    5. ヒント

[Linux] Bash exec 使用法: プロセスを置き換える

概要

exec コマンドは、現在のシェルプロセスを新しいコマンドで置き換えるために使用されます。このコマンドを実行すると、元のシェルは終了し、新しいコマンドがそのプロセスを引き継ぎます。

使用法

基本的な構文は以下の通りです。

exec [オプション] [コマンド] [引数]

一般的なオプション

  • -a : 指定した名前でコマンドを実行します。
  • -l : ログインシェルとしてコマンドを実行します。
  • -p : 環境変数を引き継がずにコマンドを実行します。

一般的な例

以下にいくつかの実用的な例を示します。

例 1: シェルを新しいコマンドで置き換える

exec ls -l

このコマンドを実行すると、現在のシェルは終了し、ls -l コマンドが実行されます。

例 2: 環境変数を引き継がないでコマンドを実行

exec -p env

このコマンドは、環境変数を引き継がずに env コマンドを実行します。

例 3: ログインシェルとして新しいシェルを起動

exec -l bash

このコマンドは、現在のシェルをログインシェルとして新しい bash シェルに置き換えます。

ヒント

  • exec コマンドを使用する際は、元のシェルが終了するため、注意して使用してください。
  • スクリプト内で exec を使用することで、スクリプトの最後に新しいプロセスを実行し、メモリの使用を最適化できます。
  • exec を使って実行するコマンドは、シェルの代わりにそのコマンドが実行されるため、シェルの機能を必要としない場合に特に有用です。