便利なコマンド置換記法

シェルスクリプトで変数にコマンドの出力結果を代入したい場合、コマンド置換機能を使います。
コマンド置換には以下のようにバッククォートを用います。
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))


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

以上。

この記事へのComments:

管理人のみ通知 :

Trackbacks:


プロフィール

トニヒコ

Author:トニヒコ
趣味は旅行と読書とマンガ。
将来の夢はコスモポリタン!

リンク・フリーです。

My hobby is traveling and reading(include manga).
My dream is to become cosmopolitan!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
スポンサード リンク
マクロミルへ登録
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR