Shellは色々構文がややこしい...
やりたいこと
$filename
という変数に、ディレクトリ名を指定した状態で、現在の時刻を含むようなファイル名をつっこみたい
やりかた
$dirname
という変数に/home/tmp
みたいな値が入っているとする.
最初に、
$filename = "$dirname/..."
みたいなことをしてもちゃんとディレクトリ名は認識されません。
なぜなら""
で囲っているため、そのまんま$dirname
になっちゃいます.
なので、下記のようにします。
$filename = "${dirname}/..."
さらにtmp/work
の下に現在時刻を含むファイル名を作りたいとします.
date +'%Y%m%d%H%M'
とすることで、202007011425
みたいな値が取得できます.
例えばxmlファイルを作成したい場合、
`date +'%Y%m%d%H%M'`.xml
とバッククオーテションで囲むことによって標準出力を文字列として認識させます。
結論
$filename = "${dirname}/work/`date +'%Y%m%d%H%M'`.xml"
とすれば、$filename
に、/home/tmp/work/202007011425.xml
とセットすることができます.