一般社団法人 全国個人事業主支援協会

COLUMN コラム

Linuxで複数のコマンドを1行で実行する際に以下のようにパイプを用いることがあると思います。

しかしこの方法だと戻り値は最後に実行したコマンドの戻り値が表示されてしまいます。

【コマンドをパイプした際の実行例】(bashの場合)

# <コマンド1> | <コマンド2>| <コマンド3>

# echo $?

<コマンド3>の戻り値が表示

 

1行で複数同時に実行した際は[PIPESTATUS]という変数を参照すると任意の順番に実行したコマンドの戻り値を確認できます。

【2番目に実行したコマンドの戻り値を確認する例】(bashの場合)

# <コマンド1> | <コマンド2> | <コマンド3>

# echo ${PIPESTATUS[1]}

<コマンド2>の戻り値が表示

※PIPESTATUSは配列のためコマンド1の場合は${PIPESTATUS[0}、コマンド3の場合は${PIPESTATUS[2]}で確認できる

 

The following two tabs change content below.

柳田 圭太

サーバおよびネットワーク系のエンジニアです。 基本設計から構築/運用まで幅広く行っています。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア