exec command on here document

投稿日:

bash上のhere documentでcommandを起動する方法。

例えば、こんなhere documentを含むbash scriptがあったとする。

#!/bin/sh
 
cat <<_DATA_
this directory is /home/xxxxx.
_DATA_

「/home/xxxxx」は、実行カレントディレクトリを設定したい。
たいていは、こんな風にする。

#!/bin/sh
 
CUR_DIR=`pwd`
cat <<_DATA_
this directory is $CUR_DIR.
_DATA_

でも、こんなんもあり。

#!/bin/sh
 
cat <<_DATA_
this directory is $(pwd).
_DATA_

$()の中は、パイプも記述可能。sedやawkを使って改行付きの文字列も展開できる。