标签: bash if-statement package
我正在使用package-name -v查看输出是否包含"命令未找到"。如果输出确实包含"命令未找到",我必须做类似的事情:
package-name -v
#!/bin/bash bml_check="$(bml -v)" echo $bml_check
bml_check的值始终显示为空。有人可以帮忙吗?
bml_check
答案 0 :(得分:1)
这是因为只有stdout保存在变量上,而不是stderr。
stdout
stderr
您必须将两者都保存在变量中:
#!/bin/bash bml_check="$(bml -v 2>&1)" echo "bml_check -> $bml_check"
将产生:
bml_check -> file.sh: line 2: bml: command not found