bashシェルスクリプトで、コマンドの実行結果(単一行・複数行)を変数に格納する方法を解説します。
コマンドの実行結果が単一行の場合
単一行(1行)の実行結果を変数に格納する方法です。
下記は、サンプルコードです。
pwdコマンドの実行結果を変数[result]に格納し、その後、変数の内容を確認しています。
#!/bin/bash # コマンドの実行結果を変数に格納 result=`pwd` # 確認 echo ${result}
サンプルの実行結果です。
[root@STKPUB002 workspace]# sh sample.sh /home/workspace
コマンドの実行結果が複数行の場合
複数行の実行結果を変数に格納する方法です。
下記は、サンプルコードです。
catコマンドの実行結果を変数[result]に格納し、その後、変数の内容を確認しています。
#!/bin/bash # コマンドの実行結果を変数に格納 result=`cat /home/data/file1.txt` # 確認 echo "${result}"
サンプルの実行結果です。
[root@STKPUB002 workspace]# sh sample.sh あいうえお かきくけこ さしすせそ たちつてと なにぬねの
変数を含むコマンドの場合
変数を含むコマンドの実行結果を変数に格納する方法を説明します。
下記は、サンプルコードです。
まず、lsコマンドで使用するパスを変数[path]に格納しています。
次に、lsコマンド(ls -1 ${path})の実行結果を変数[result]に格納し、その後、変数の内容を確認しています。
#!/bin/bash # パス情報を変数に格納 path=/home/data/ # コマンドの実行結果を変数に格納 result=`ls -1 ${path}` # 確認 echo "${result}"
サンプルの実行結果です。
[root@STKPUB002 workspace]# sh sample.sh dir1 dir2 dir3 file1.txt file2.txt file3.txt
リンク
コメント