7
我正在嘗試計算bash腳本中動態前幾天的日期。在bash腳本中獲取X日前的日期,使用參數變量
這是我做了什麼 -
#!/bin/bash
STAMP=`date --date='$1 day ago' +%y%m%d`
但運行myscript 2
時,它說 -
date: invalid date `$1 day ago'
我怎麼能這個公式中使用我的參數值?
我正在嘗試計算bash腳本中動態前幾天的日期。在bash腳本中獲取X日前的日期,使用參數變量
這是我做了什麼 -
#!/bin/bash
STAMP=`date --date='$1 day ago' +%y%m%d`
但運行myscript 2
時,它說 -
date: invalid date `$1 day ago'
我怎麼能這個公式中使用我的參數值?
它的工作原理,如果「被替換爲「插入腳本命令 -
STAMP=`date --date="$1 day ago" +%y%m%d`
線索是兩個不同的字符'和」錯誤響應使用 -
date: invalid date `$1 day ago'
的(不是我)可以解釋爲什麼會發生這種情況
這是因爲變量替換不會發生在單引號中,即'$1'
不會擴大,但"$1"
會。
因此,說
STAMP=`date --date="$1 day ago" +%y%m%d`
或
STAMP=$(date --date="$1 day ago" +%y%m%d)
會工作。