Bash

bash 腳本在引號中傳遞參數

  • October 8, 2020

我有這樣的命令

date -d @$(date -d 'Sat, 08 Aug 2020 00:00:00' "+%s")  +'%Y-%m-%d'

輸出這個

2020-08-08

所以我想在 bash 腳本中使用薄,我創建了這個(這只是真正大腳本的一部分)

Date1=$1
date -d @$(date -d $Date1 "+%s")  +'%Y-%m-%d'

但是當我嘗試像這樣執行時

./test.sh "Sat, 08 Aug 2020 00:00:00"

我明白了

date: extra operand ‘Aug’
Try 'date --help' for more information.
date: invalid date ‘@’

所以它看起來像“”在傳遞參數時消失了

把你$Date1的引號括起來,它應該可以工作:

date -d @$(date -d "$Date1" "+%s")  +'%Y-%m-%d'

另請參閱何時需要雙引號?

引用自:https://unix.stackexchange.com/questions/613504