{
    "componentChunkName": "component---src-templates-blog-post-js",
    "path": "/2021-07-20_busybox_date/",
    "result": {"data":{"site":{"siteMetadata":{"title":"365"}},"markdownRemark":{"id":"2100cd31-ff95-5ca7-96b4-77b33283a956","excerpt":"date コマンドで実行しているスクリプトがあって Alpine Linux の環境で動かすと期待度通りに動いてくれなかった そもそも date コマンドには 3 つあるみたい BSD date GNU coreutils date BusyBox date 2021/07/16 の記事では BSD date…","html":"<p>date コマンドで実行しているスクリプトがあって<br>\nAlpine Linux の環境で動かすと期待度通りに動いてくれなかった</p>\n<p>そもそも date コマンドには 3 つあるみたい</p>\n<ul>\n<li>BSD date</li>\n<li>GNU coreutils date</li>\n<li>BusyBox date</li>\n</ul>\n<p>2021/07/16 の記事では BSD date と GNU coreutils date について書いたが、今回は BusyBox date を簡単に触る</p>\n<p>Docker で Alpine Linux を触る</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"language-sh\"><code class=\"language-sh\">$ docker run -it alpine:latest /bin/sh</code></pre></div>\n<p>date コマンドを見てみる</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"language-sh\"><code class=\"language-sh\"># date --help\r\nBusyBox v1.33.1 () multi-call binary.\r\n...</code></pre></div>\n<p>もちろん BSD date や GNU coreutils date で使える日付操作のオプションが使えない</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"language-sh\"><code class=\"language-sh\"># date &#39;+%Y-%m-%d&#39; -d &#39;1 day ago&#39;\r\ndate: invalid date &#39;1 day ago&#39;\r\n\r\n# date &#39;+%Y-%m-%d&#39; -v -1d\r\ndate: unrecognized option: v\r\n...</code></pre></div>\n<p>日付計算で出力する必要がある</p>\n<div class=\"gatsby-highlight\" data-language=\"sh\"><pre class=\"language-sh\"><code class=\"language-sh\"># date &#39;+%Y-%m-%d&#39; -d &quot;1970.01.01-00:00:$(( $( date +%s ) - $(( 24 * 60 * 60 )) ))&quot;\r\n2021-07-19</code></pre></div>\n<p>月末の日を求めたかったが計算がややこしくなりそうだったので BusyBox date を使わない別の方法を考えることにした</p>\n<ul>\n<li>参考\n<ul>\n<li><a href=\"https://bearmini.hatenablog.com/entry/2017/06/19/115255\">date コマンドつらい - bearmini’s blog</a></li>\n</ul>\n</li>\n</ul>","frontmatter":{"title":"BusyBox date を触る","date":"2021/07/20","description":"date コマンドで実行しているスクリプトがあって Alpine Linux の環境で動かすと期待度通りに動いてくれなかった"}},"previous":{"fields":{"slug":"/2021-07-19_get_favicon_ico/"},"frontmatter":{"title":"favicon の画像を取得する"}},"next":{"fields":{"slug":"/2021-07-21_base64_encode_decode_perl_oneliner/"},"frontmatter":{"title":"Base64 のエンコード・デコードをワンライナーで実行する"}}},"pageContext":{"id":"2100cd31-ff95-5ca7-96b4-77b33283a956","previousPostId":"93041938-eed2-57cc-a600-c274ef8f244c","nextPostId":"2bdcd8c4-2f71-5cc6-9d47-0859c3485fea"}},
    "staticQueryHashes": ["2841359383","3257411868"]}