Year=`date '+%Y'`
RTRN1=$?
これは、ログ内の現在の日付を返しますから、しかし、私は2016年バッシュ-1年の日付
感謝任意の助けをしたいので、代わりに、これは2017年を返す、前年を返すようにしたいです!おかげでGNU date
ユーティリティの
Year=`date '+%Y'`
RTRN1=$?
これは、ログ内の現在の日付を返しますから、しかし、私は2016年バッシュ-1年の日付
感謝任意の助けをしたいので、代わりに、これは2017年を返す、前年を返すようにしたいです!おかげでGNU date
ユーティリティの
:日付を調整する-d
()オプションを使用します。私たちはbash
を持っていたよう
Year=$(date +%Y -d'1 year ago')
echo $Year
2016
は、それはあなたが常にキャプチャすることができますlet
let YEAR=`date +%Y`-1
echo $YEAR
これは動作しません、それでも2017を返します。私は確信していません理由 – Matt
を使用することが可能です年はdate +'%Y'
です。 1
をPOSIX算術演算子で減算することができます。あなたはまた、例えば、POSIXに準拠しexpr
数学演算子を使用することができ
$ echo $(($(date +%Y) - 1))
2016
$ expr $(date +%Y) - 1
2016
(注:expr
とあなたは数学演算子と値の間space
残さなければならない)に沿って、コメントや他の回答で指定されているように動作します'1 year ago'
で
GNU日付演算子-d
を他の回答に指定されているlet dt=$(date +%Y)-1; echo $dt
(let
で許可されるスペースはありません)。私はGNU date
を持っていなかった場合は、すべての選択肢の
は、私がdate
コマンド置換マイナス1
とPOSIX算術演算子$((...))
を選ぶと思います。
これを私の現在のコードにどのように追加しますか?現在、これを試してみると、パラメータ値は0〜72文字の長さでなければならないと言われています。歓声 – Matt
'Year = $(date '+%Y');年= $((年 - 1)); "Year:$ Year' echo(バッククォート' \ '.. \' 'を取り除き、コマンド置換に' $(...) 'を使う - 操作を変更しませんが、読みやすくなります。 'Year = $(($ + date +%Y) - 1)') '' Year'に1つのステートメントで '2016 ' –
もちろん、GNUの 'date'を想定しています。 –
@ IgnacioVazquez-Abrams、あなたはそれを持っています – RomanPerekhrest
これはまだ驚くほど2017年を返しますが、何の誤りもありませんが、私は2016年を返すためにそれを必要とします。 – Matt