私のシェルスクリプト:
#!/bin/bash
echo "$1";
startd=$(date -d "$1" +"%Y%m%d");
echo "$startd";
私のコマンド:
sudo ./test.sh "20151010"
出力:
20151010
20150213
入力した日付ではなく、今日の日付が出力されることをご存知ですか?
ベストアンサー1
OS Xバージョンはdate
この-f
オプションを使用して、フォーマットされた日付/時刻を解析します。
date -j -f '%Y%m%d' "$1" +'%Y%m%d'
この-j
オプションを使用すると、システムクロックを設定せずに時間のみを印刷します。したがって、スクリプト全体は次のようになります。
#!/bin/bash
echo "$1";
startd=$(date -j -f '%Y%m%d' "$1" +'%Y%m%d');
echo "$startd";
以下は成績表です。
$ ./testdate.sh 20151010
20151010
20151010