関数で生成した値を文字列に埋め込む

Bash で関数の戻り値を文字列に埋め込みたいなあ、とかあると思います。

それ、 printf でできます。

たとえば、処理の日時を特定のフォーマット ( yyyy/mm/dd hh:mm:ss ) で埋め込みたいなあ思った場合以下のように now を定義して、関数末尾で printf で返してあげれば利用できます。

function now() {
    printf "$(date +%Y/%m/%d\ %H:%M:%S)"
}
 
echo "現在日時は $(now) です。"
# => 現在日時は 2013/11/18 12:48:09 です。