shell 脚本表达式求值到一个变量
shell script expression evaluation into a variable
下面的表达式
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 不存储值并且 returns 为零
原因是 '$start_date'
、'$end_date'
等不会扩展到它们的值,因为它们在单引号中。尝试将其更改为双引号,您可能会有一些运气。
下面的表达式
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 不存储值并且 returns 为零
原因是 '$start_date'
、'$end_date'
等不会扩展到它们的值,因为它们在单引号中。尝试将其更改为双引号,您可能会有一些运气。