我需要找到今天的日期,然后减去一个年份,并将该日期格式化为YYYY-MM-dd格式。
我可以通过我编写的脚本来实现这一点,但显然它只与bash兼容。我需要它与AIX兼容。
lastYear=`date +'%Y-%m-%d' -d 'last year'`
searchDate="$lastYear 00.00.00";
echo "Retrieving data start from $searchDate"
myquery="myquery >= '$searchDate'"
当在AIX机器上运行时,结果是它只传递了$searchDate的"00:00:00“部分,日期没有像我希望的那样在时间之前加前缀。为了最大限度地兼容Linux/Unix变体,最安全的方式是什么?
谢谢!
发布于 2018-06-22 20:22:01
为什么要把它弄得这么复杂?
#!/bin/ksh
typeset -i year=$( date +%Y )
(( year -= 1 ))
typeset rest=$( date +%m-%d )
echo "${year}-${rest}"
这应该可以在任何shell中工作。如果使用sh,请替换
$( ... )
背部抽筋
` ... `
但是对于bash和ksh,我使用$( ... ) --这只是个人喜好。
https://stackoverflow.com/questions/50977366
复制相似问题