Bash > コマンドの実行結果を変数に代入する方法

更新日 2011-12-18
コマンドの実行結果を変数に代入する方法を紹介します。
コマンド(ls, grep, find, etc.)の実行結果を変数に代入できると、非常に便利です。 以下の構文で可能です。
変数=$(コマンド)
以下のサンプル test-store.sh は、lsコマンドの実行結果を変数filesに代入し、echoで出力します。
#!/bin/bash

files=$(ls)
echo ${files}
まず、普通にlsコマンドを実行します。その後、test-store.shを実行します。
test-store-variable$ ls       # lsコマンドを実行
test-store.sh  test-store.sh~
test-store-variable$ bash test-store.sh   # test-store.shを実行
test-store.sh test-store.sh~
ファイル名の間のスペースの数が違いますが、それ以外は同じです。 スペースの数が2つから1つに減っているのは、bashが削ってるんだと思っています。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system