在Bash脚本中存储日期变量

23

我想将日期值存储到一个变量中以备将来使用。请修正以下示例脚本:

#!/bin/bash
Now_hourly = $(date +%d-%b-%H_%M)    
Now_daily = $(date +%d-%b-daily)    
echo $(Now_hourly)    
echo $(Now_daily)
输出应该为:12-Feb-17_5012-Feb-daily
但是当我运行脚本时,出现以下错误:
Now_hourly: command not found
Now_daily: command not found


5
这是一个常见问题解答。赋值变量时,等号两侧不能有空格。 - devnull
1
这个问题似乎不适合讨论,因为提问者期望读者去“纠正示例脚本”。 - devnull
@devnull 非常感谢。节省了我的时间。 - Gopu
@Gopu 你可以通过测试所有想到的东西来得到正确的答案,没有问题。问题已经解决 :) - MLSC
此外:在echo行中使用花括号,否则将尝试执行Now_hourly。 - urzeit
1个回答

53

你可以像这样更改脚本:

#!/bin/bash
Now_hourly=$(date +%d-%b-%H_%M)    
Now_daily=$(date +%d-%b-daily)    
echo "$Now_hourly"
echo "$Now_daily"

我认为问题在于等号周围的空格=

12-Feb-12_03
12-Feb-daily

另外,作为一般性的回答,如果您的日期格式可能包含空格,则应将格式保留在双引号中,如下所示-->Now_hourly=$(date +"%d-%b-%H_%M") - imnd_neel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接