今日が毎月15日であることを確認するbashスクリプトが欲しいです。
if [ $dayOfMonth == 15 ]
then
echo "15th day of month
fi
ベストアンサー1
このコマンドは、フォーマット文字列を使用してコマンドをdate +%d
呼び出してその月の日付を取得するために使用できます。フォーマット文字列はマニュアルに記載されていますが、確かにC関数のマニュアルに記載されています。月の日付を2桁の数字で指定します(ゼロパディング可能)。date
%d
date
strftime()
テストに使用できます。
day=$( date +%d )
if [ "$day" = "15" ]; then
echo 'the 15th'
fi
ここで使用されている参照と文字列の間の同一性テストは単一のテストで実行されることに注意して=
ください[ ... ]
。
実際に使用していると思われる最新バージョンのシェル(4.2+)では、以下をbash
使用してその月の日付を取得することもできます。
printf -v day '%(%d)T' -1
これは外部コマンドに依存せず、変数をday
今月の日付に設定しますdate
。-1
現在の日時を示します。ドキュメントの説明を参照してください。