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