在 linux 中,bash 程序。 我这样写:
msg=`date '+%m-%d %H:%M'`" alipay recharge [$sum] in past 15 mins"
echo $msg >> $MonitorLog
大多数情况下它是有效的,但有时。结果会是这样的:
07-15 09:01 card recharge 0 in past 30 mins
我的句子变了。不是 0,如果 $sum=0 ,它应该是:
07-15 09:01 card recharge [0] in past 30 mins
我不知道我的“[]”在哪里?你能帮帮我吗,非常感谢。
最佳答案
您正在使用 shell 通配符。请参阅下面的输出。
$ ls -l
total 4
-rw-r--r-- 1 root root 0 Jul 14 21:40 5
$ sum=10
$ msg=`date '+%m-%d %H:%M'`" alipay recharge [$sum] in past 15 mins"
$ echo $msg
07-14 21:41 alipay recharge [10] in past 15 mins
$ sum=5
$ msg=`date '+%m-%d %H:%M'`" alipay recharge [$sum] in past 15 mins"
$ echo $msg
07-14 21:41 alipay recharge 5 in past 15 mins
$ echo "$msg"
07-14 21:41 alipay recharge [5] in past 15 mins
关于linux - 我的 '[]' 在哪里?,bash 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24748564/