2014
10
05

便利なコマンド置換記法

シェルスクリプトで変数にコマンドの出力結果を代入したい場合、コマンド置換機能を使います。
コマンド置換には以下のようにバッククォートを用います。
test_var=`date`
echo $test_var
Sun Oct 5 01:19:19 JST 2014


あるいは$()という記法もあります。

test_var=$(date)
echo $test_var
Sun Oct 5 01:20:54 JST 2014



$()を用いた記法のほうが便利です。例えばコマンドの中に更にコマンドを含める(ネストする)場合のことを考えてみましょう。

sample_var=`echo hello \`hostname\``


バッククォートを用いた場合、hostnameの部分のバッククォートをエスケープしないとhostnameがコマンドとして評価されません。しかし、いちいちエスケープするのは面倒だし、見づらいです。

これが、$()を用いた記法だと。。。

sample_var=$(echo hello $(hostname))


グッと見やすくなります。

以上。
Comment



Only the blog author may view the comment.


Trackback
Trackback URL

«  | HOME |  »

奇妙な風景 Unique Scene
<< >>

プロフィール


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


スポンサード リンク


FC2カウンター


検索フォーム


RSSリンクの表示


リンク


ブロとも申請フォーム


QRコード