bash - 将 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 不存储值并返回零
解决方案
原因是'$start_date'
, '$end_date'
etc 不会扩展到它们的值,因为它们在单引号中。尝试将其更改为双引号,您可能会有一些运气。
推荐阅读
- grep - grep 打印输出,合并空格
- typescript - 如何正确“声明”一个模块?(TS7016)
- .htaccess - 使用 htaccess,如何将所有不是 www 的子域 URL 重定向到新域上的相同子域 URL?
- javascript - Puppeteer - 按 div 类搜索元素 - 返回 Element 的所有 div 类
- python - 断言等于其中包含数组的对象
- regex - 金额后的金额正则表达式货币名称
- hyperledger-fabric - composer network start 什么都不返回
- python - Keras ModelCheckpoint vall_loss 减少但表示没有
- c++ - 将对象指针数组初始化为 NULL
- javascript - 如何从图中获取带有 ID 的 SVG?