我需要找到今天的日期,然后减去一年并将该日期格式化为 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 变体中实现最大兼容性,最安全的编写方法是什么?
谢谢!
为什么要弄得这么复杂?
#!/bin/ksh
typeset -i year=$( date +%Y )
(( year -= 1 ))
typeset rest=$( date +%m-%d )
echo "${year}-${rest}"
这应该适用于任何 shell。如果您使用 sh 替换
$( ... )
背部抽搐
` ... `
但是对于 bash 和 ksh,我使用 $( ... ) —— 只是个人喜好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句