我有一个类似的命令:
LIST=$(git log $LAST_REVISION..$HEAD --format="%s" | egrep -o "[A-Z]-[0-9]{1,4}" | sort -u)
现在,如果$LIST
返回0或更多行,我需要做一些事情。这是我尝试过的:
if [ ! $($LIST | wc -l) -eq 0 ]; then
echo ">0 lines returned"
else
echo "0 lines returned"
fi
但它给我一个错误。执行此操作的正确语法是什么(如果可能,请使用所使用语法的一些详细信息)?
答案 0 :(得分:3)
要检查变量是否为空,请使用test -z
,这可以通过多种方式编写:
test -z "$LIST"
[ -z "$LIST" ]
使用bash(或许多其他“现代”shell):
[[ -z $LIST ]]
我喜欢最后一个,只要你使用bash。
请注意您正在做的事情:$($LIST | ...)
是执行 $LIST
作为命令。这几乎肯定会产生错误,并且如果$LIST
为空,则保证会这样做。