Bashでコマンドの実行結果を変数に取得
構文
コマンドの実行結果を変数に代入する方法。
コマンド(ls、grep、find等)の実行結果を変数に代入する。
構文は、以下の通り。
1 | 変数=$(コマンド) |
サンプル
以下、サンプル。
lsコマンドの実行
結果を変数filesに代入し、echoで出力する。
1 2 3 | #!/bin/bash files=$(ls) echo ${files} |
実行結果。
lsコマンドに続けて、test_store.shを実行。
1 2 3 4 5 6 7 | -bash-3.2$ ls test_case.sh test_for1.sh test_search_string.sh test_while2.sh test_check test_for2.sh test_select.sh test_compare_num.sh test_for3.sh test_store.sh test_compare_str.sh test_if.sh test_while1.sh -bash-3.2$ ./test_store.sh test_case.sh test_check test_compare_num.sh test_compare_str.sh test_for1.sh test_for2.sh test_for3.sh test_if.sh test_search_string.sh test_select.sh test_store.sh test_while1.sh test_while2.sh |
lsコマンドの結果を変数に取得した場合、結果が半角スペース区切りで取得される為、表示上は異なるが結果は同等となる。