Bash Script 检查命令是否存在
本文主要参考stackoverflow上的这个问题及其答案。
最简单的代码是这个样子,这是可以工作的最简单代码:
#/bin/sh
if command -v foo1;then
echo "program foo1 exists"
else
echo "program foo1 does not exist"
fi
if command -v python;then
echo "program python exists"
else
echo "program python does not exist"
fi
但是在运行时会输出不少东西,所以有了加上重定向的第二版,相比第一版,也就多了一些重定向的问题,具体可以参考这篇文章。简单说来就是把程序运行时所有输入都忽略了(通过将其重定向到/dev/null)。
#/bin/sh
if command -v foo1>/dev/null 2>&1;then
echo "program foo1 exists"
else
echo "program foo1 does not exist"
fi
if command -v python>/dev/null 2>&1;then
echo "program python exists"
else
echo "program python does not exist"
fi
blog comments powered by Disqus