0
我有這個test.sh如何將計算日期傳遞給bash shell?
#!/bin/bash
echo $1
調用它的工作原理:
sh ./test.sh $(date +"%F")
我想從目前的日期減去5天,傳遞給的test.sh
sh ./test.sh $(date --date="date-5 day" +"%F")
線以上不起作用。什麼是正確的方法?
我有這個test.sh如何將計算日期傳遞給bash shell?
#!/bin/bash
echo $1
調用它的工作原理:
sh ./test.sh $(date +"%F")
我想從目前的日期減去5天,傳遞給的test.sh
sh ./test.sh $(date --date="date-5 day" +"%F")
線以上不起作用。什麼是正確的方法?
我建議:
sh ./test.sh $(date --date="-5 day" +"%F")
隨着我的設置en_US.UTF-8
命令date --date="-5 day" +"%F"
輸出2017-08-04
。
你想做的事情不能做* * * *更具體,而且是@ jon-skeet的領域:什麼是「減5天」的意思。這是120小時嗎?在哪個時區?在哪個日曆之後?在哪個區域?即使你「只是想要5天前」,事情也會變得相當複雜,因爲在日期/時間計算中沒有「正義」。因此,不要向bash提供這些信息,而應使用日期/時間CLI實用程序或腳本語言中的適當日期/時間庫,並使用足夠穩固的此類庫來確保結果正確。 –
請看[這個回答](https://unix.stackexchange.com/a/49055/46316) - 你想要'--date =「 - 5天」。 –