问题描述
如何从变量减去30分钟?
#!/bin/bash
date_30=$(date --date '-30 min')
date_60=$($date_30 --date '-30 min')
exit 0
但我知道
./a.sh: 4: ./a.sh: Thu: not found
解决方法
date_30=$(date --date '-30 min')
这会将date --date '-30 min'
的输出存储到date_30
变量中,该变量类似于:Thu Aug 13 13:09:04 CEST 2020
date_60=$($date_30 --date '-30 min')
执行$date_30
变量的内容并进行空格分隔(因为它没有用双引号引起来的"
),因此它尝试使用参数{{1 }},Thu
,Aug
,13
,13:09:04
,CEST
和2020
,肯定没有名为--date
的命令这肯定不是您尝试做的。
要修复它:
-30 min
或使用带有时间戳记日期的Shell算术:
Aug