シェル: コマンドの実行結果を変数に入れる方法

シェルスクリプト等を作成する際に、文字列や数値ではなく、コマンドの実行結果を変数に入れたい場合があると思います。

ここではシェルでコマンドの実行結果を変数に入れる方法を紹介します。

コマンドの実行結果を変数に入れる

‘(バッククォート)で囲むことでコマンドを処理した実行結果を示すことができます。 例えば、findコマンドの実行結果を変数FILEに入れる場合は、以下のように実行します。

[armadillo ~]# FILE=`find *`

バッククォートのほかにも$()を使用する方法もあります。 先ほどの例を書き換えると以下のようになります。

[armadillo ~]# FILE=$(find *)

参考

コマンドを実行結果を変数に入れることなく、以下のようにコマンドの組み合わせで利用する方法もあります。

[pc ~/linux-3.14.x-at]$ grep ARMADILLO `find * -name Kconfig`
arch/arm/mach-shmobile/Kconfig:config MACH_ARMADILLO800EVA
arch/arm/mach-shmobile/Kconfig:config MACH_ARMADILLO800EVA_REFERENCE
arch/arm/mach-imx/Kconfig:config MACH_ARMADILLO5X0

上記のコマンドはLinuxカーネルソースのKconfigファイルのみgrepを実行している例になります。

製品: 
Armadillo-X1
Armadillo-IoT G3L
Armadillo-IoT G3
Armadillo-IoT G1/G2
Armadillo-Box WS1
Armadillo-EVA 1500
Armadillo-840m
Armadillo-840
Armadillo-810
Armadillo-800 EVA
Armadillo-460
Armadillo-440
Armadillo-420
Armadillo-410
Armadillo-500 FX
Armadillo-500
Armadillo-300
Armadillo-9
Armadillo-240
Armadillo-230
Armadillo-220
Armadillo-210
Armadillo-J
Armadillo(HT1070)