首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有diff,计算diff将使脚本退出。

如果没有diff,计算diff将使脚本退出。
EN

Stack Overflow用户
提问于 2020-10-30 11:57:03
回答 1查看 41关注 0票数 0

我试图计算冲突中的一些文件:

代码语言:javascript
复制
let initialConflicts=`git diff --name-only --diff-filter=U | wc -l`

问题是:如果没有冲突,git diff的结果是空的,wc -l挂起。它似乎来自于git diffwc -l中缺少的选项。这个小脚本再现了这个问题:

代码语言:javascript
复制
set -euo pipefail
IFS=$'\n\t'

echo $SHELL
echo "Before counting"
let test=`echo -n "" | wc -l`
echo "After counting"

在这里,“计数后”一行不出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-30 12:03:18

参见letbash的手册页面:

每个arg是一个要计算的算术表达式.如果最后一个arg的计算结果为0,则let返回1;否则返回0。

正如您已经使用的set -e一样,这会导致脚本退出。既然这里没有计算表达式,只需:

代码语言:javascript
复制
test=`echo -n "" | wc -l`

应该行得通。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64607927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档