当我在bash脚本中分配时
DATE=`date`
和
TODAY=${DATE:4:7}
然后TODAY
包含"Jul 2 "
而不是"Jul{2 spaces} "
。
所以我想将$TODAY
中的第一个空格改为两个空格
我该怎么做?
或者我如何避免对$TODAY
的第一次错误分配?
答案 0 :(得分:2)
如果您只是想Jul 2
,为什么不使用date
选项?
$ date "+%b %-d"
Jul 2
答案 1 :(得分:1)
如果您想要当前月份后跟两个空格:
date +'%b '
或者,对于长名称:
date +'%B '
将命令分配给变量只需使用$()运算符,如下所示:
DATE=$(date +'%b ')
并按照这样打印
echo "$DATE is the current month, with more spaces\!"
答案 2 :(得分:1)
$(...)
代替反对。你会发现保留了空格:
$ DATE="$(date)"
$ echo "${DATE}"
$ Tue Jul 2 11:43:21 GMT 2013
$ TODAY=${DATE:4:7}
$ echo "*${TODAY}*"
$ *Jul 2 *
答案 3 :(得分:1)
使用日期参数格式化日期
date "+%b %_d"
将填补当天的空间,为您提供2个空格