Bash 检查Lua中shell命令的输出是否为空

Bash 检查Lua中shell命令的输出是否为空,bash,shell,lua,command,conditional,Bash,Shell,Lua,Command,Conditional,我正在尝试仅当pgrep-xfoo的输出为空时激活一些Lua行。我尝试了以下方法: if os.execute("pgrep -x foo") then -- My lines here end 然而,这似乎不是正确的解决方案,即使在语法上是正确的。也许可以尝试检查nil: 如果不希望匹配精确,请删除-x选项。可以尝试检查nil: 如果不希望精确匹配,请删除-x选项。local result=os.executepgrep-x foo 如果结果~=true且结果~=0,则 -我这里的台词

我正在尝试仅当pgrep-xfoo的输出为空时激活一些Lua行。我尝试了以下方法:

if os.execute("pgrep -x foo") then
   -- My lines here
end
然而,这似乎不是正确的解决方案,即使在语法上是正确的。

也许可以尝试检查nil:

如果不希望匹配精确,请删除-x选项。

可以尝试检查nil:

如果不希望精确匹配,请删除-x选项。

local result=os.executepgrep-x foo 如果结果~=true且结果~=0,则 -我这里的台词没有这样的过程 终止 本地结果=os.executepgrep-x foo 如果结果~=true且结果~=0,则 -我这里的台词没有这样的过程 终止
@JoeC告诉我Egor已经存在了一段时间;你能解释一下为什么要用两个条件吗?我认为您给出了正确的答案,但我不完全理解其中的全部内容。@xvlaze-os.execute为Lua和返回不同的结果。条件result~=true和result~=0在任何地方都有效。@JoeC告诉我Egor已经存在了一段时间;你能解释一下为什么要用两个条件吗?我认为您给出了正确的答案,但我不完全理解其中的全部内容。@xvlaze-os.execute为Lua和返回不同的结果。条件result~=true和result~=0适用于任何地方。
if os.execute('pgrep -x foo') == nil then
    print('empty')
end