首页 > 解决方案 > 将 shell 脚本表达式求值转换为变量

问题描述

下面的表达式

var=$(git log --since='$start_date' --until='$end_date' --author='$commit_author' | grep -i 'merge request\|pull request'  | wc -l)
echo $var 

将 var 打印为零

但如果我回应上面的表达

git log --since='2018-04-1' --until='2018-06-30' --author='so.sila@xes.com' | grep -i 'merge request\|pull request'  | wc -l

并复制它并通过终端作品执行

为什么那个 var 不存储值并返回零

标签: bashshellgit-bash

解决方案


原因是'$start_date', '$end_date'etc 不会扩展到它们的值,因为它们在单引号中。尝试将其更改为双引号,您可能会有一些运气。


推荐阅读