首页 > 解决方案 > 如何将回声值分配给shell脚本中的变量

问题描述

这是我的简单代码,但它没有按预期工作..我想在我的 Jenkins 管道中打印当前日期,sh我尝试了这个..但还没有运气。有人可以帮我这样做吗?

sh """
currentDate = 'echo "$(date +'%m-%d-%Y')"'
echo $currentDate
"""

我收到错误消息currentDate : command not found

标签: shelljenkins

解决方案


首先,当您已经将日期的标准输出转换为字符串时,您不必使用echo 。你可以直接写:

currentDate=$(date +'%m-%d-%Y')
echo $currentDate

(注意:变量赋值中等号周围没有空格)。

其次,如果要将命令的输出转换为字符串,则应该使用的不是正常的引号 ' 而是反向引号 `。

所以,如果你坚持使用echo,你应该写:

currentDate=`echo "$(date +'%m-%d-%Y')"`

推荐阅读