2017-05-30 78 views
0

我使用的工作之后,我的shell脚本变量不是在shell脚本

LOGDATE='date +%m%d%y_%H%M' 

,然后调用一样,在同一个shell脚本

$LOGDATE 

以下,但在打印输出如下

echo $LOGDATE 

date +%m%d%y_%H%M 

谁能告诉我做错了什么?

+1

'LOGDATE =“$(日期+%M%d %y_%H%M)“' – anishsane

+3

您是否试图在变量LOGDATE中存储'date +%m%d%y_%H%M'命令,或者您是否尝试执行该命令并存储其输出在'LOGDATE'中? –

回答

3

你错了单引号字符',用于转义字符串(没有变量扩大,反斜线不转义符,和分隔符被忽略)为执行标准输出作为一个子shell并返回内容反引号字符`一个字符串。

LOGDATE=`date +%m%d%y_%H%M` 

较新的bash版本还允许语法

LOGDATE=$(date +%m%d%y_%H%M) 

可以认为更可读的,并允许表达的容易嵌套: