bash 変数に日付を入れる方法
まずはコマンドラインで試してみる
下記のコマンドを実行することで、変数「today」に YYYYMMDD の形式で日付文字列が格納され、格納された変数の中身が echo によって表示されます。
ポイントは、バッククオートを付与することで、コマンドの実行結果を文字列で変数に代入できるようになります。
date “+(フォーマット)“で「+」を付けてフォーマットを指定することで、任意の形式で日付データを表示できるようになります。
today=`date "+%Y%m%d"`
echo ${today}
実行すると下記のように表示されます。
20180407
シェルとして実行してみる
実際にシェルスクリプトとして実行してみたいと思います。
vi で作成したファイル名を指定して起動します。
vi hello.sh
内容は下記のように記載します。
#! /bin/bash
today=`date "+%Y%m%d"`
echo "hello" > ${today}.txt
このままでは実行できませんので、実行権限を付与します。
chmod 755 hello.sh
実行します。
./hello.sh
実行すると、日付が付与されたファイルが作成され、内容に"hello"と書かれています。
まとめ
日々のバックアップやログの移動など、ファイルに日付を付与したいシーンは割とよくあると思います。
この方法を使うことで、ファイルやディレクトリに日付を付与するのが、楽になります。