String 在bash中更改变量中的字符串
当我在bash脚本中赋值时String 在bash中更改变量中的字符串,string,bash,String,Bash,当我在bash脚本中赋值时 DATE=`date` 及 然后,今天的包含“Jul 2”,而不是“Jul{2 spaces}” 因此,我想将$TODAY中的第一个空格改为两个空格。 我该怎么做? 或者如何避免第一次错误分配到$TODAY?如果您只想7月2日,为什么不使用date选项 $ date "+%b %-d" Jul 2 如果您只想要7月2日,为什么不使用date选项 $ date "+%b %-d" Jul 2 如果希望当前月份后跟两个空格: date +'%b ' 或者,对于长
DATE=`date`
及
然后,今天的包含“Jul 2”
,而不是“Jul{2 spaces}”
因此,我想将$TODAY
中的第一个空格改为两个空格。
我该怎么做?
或者如何避免第一次错误分配到$TODAY
?如果您只想7月2日
,为什么不使用date
选项
$ date "+%b %-d"
Jul 2
如果您只想要7月2日
,为什么不使用date
选项
$ date "+%b %-d"
Jul 2
如果希望当前月份后跟两个空格:
date +'%b '
或者,对于长名称:
date +'%B '
要将命令分配给变量,只需使用$()运算符,如下所示:
DATE=$(date +'%b ')
然后像这样打印出来
echo "$DATE is the current month, with more spaces\!"
如果希望当前月份后跟两个空格:
date +'%b '
或者,对于长名称:
date +'%B '
要将命令分配给变量,只需使用$()运算符,如下所示:
DATE=$(date +'%b ')
然后像这样打印出来
echo "$DATE is the current month, with more spaces\!"
引用是关键
使用$(…)
而不是反勾号
您将发现空间被保留:
$ DATE="$(date)"
$ echo "${DATE}"
$ Tue Jul 2 11:43:21 GMT 2013
$ TODAY=${DATE:4:7}
$ echo "*${TODAY}*"
$ *Jul 2 *
引用是关键
使用$(…)
而不是反勾号
您将发现空间被保留:
$ DATE="$(date)"
$ echo "${DATE}"
$ Tue Jul 2 11:43:21 GMT 2013
$ TODAY=${DATE:4:7}
$ echo "*${TODAY}*"
$ *Jul 2 *
使用date参数设置日期的格式
date "+%b %_d"
将用空格填充一天,给出您所处的2个空格使用日期参数设置日期格式
date "+%b %_d"
如果我这样做的话,我会用空格填充一天,给出你要找的2个空格。今天
包含“Jul2”
。如果你不希望空格被折叠,请确保在回显时将$TODAY
放在引号中。当我这样做的时候,今天
包含“Jul2”
。如果您不想让空格折叠,请确保在回显时将$TODAY
放在引号中。