mic*_*con 3 shell bash quoting
我想测试这个命令的结果:
dmesg | grep "Firmware patch 1563"
Run Code Online (Sandbox Code Playgroud)
因此,我尝试写这样的东西:
if [ "`dmesg | grep "Firmware patch 1563`" == "" ]
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我应该如何重写这个命令?
您可以直接测试命令的结果:
if dmesg | grep -q "Firmware patch 1563"
Run Code Online (Sandbox Code Playgroud)
如果您需要检查管道的输出是否为空,请使用$()
命令替换并像使用独立命令一样嵌套引号:
if [ -z "$(my_command | other_command "some argument")" ]
Run Code Online (Sandbox Code Playgroud)