在 Unix 中将字符串值传递给日期

在 Unix 中将字符串值传递给日期
mm="27 Jun 2011"
dd=$(date -d'27 Jun 2011' +%Y%m%d)
echo $dd

我想在第二行使用 mm 的值。当我尝试如下时

dd=$(date -d'$mm' +%Y%m%d)

它给出了错误。

答案1

用这个

dd=$(date -d"$mm" +%Y%m%d)

就这样。


例子

% mm="27 Jun 2011"
% dd=$(date -d"$mm" +%Y%m%d)
% echo $dd
20110627

与您的版本进行比较

% dd=$(date -d"27 Jun 2011" +%Y%m%d)
% echo $dd
20110627

% dd=$(date -d'27 Jun 2011' +%Y%m%d)
% echo $dd
20110627

相关内容