我打算使用Linux" find"从脚本内部命令。如果"发现"我只是感到困扰命令在所提到的任何路径中查找可执行文件,而不是确切的路径。我正在测试以下内容:
find /usr/bin /usr/sbin /bin /sbin -name ntpd > /dev/null 2>&1; echo $?
0
find /usr/bin /usr/sbin /bin /sbin -name ntp > /dev/null 2>&1; echo $?
0
find /usr/bin /usr/sbin /bin /sbin -name ntpd
/usr/sbin/ntpd
# find /usr/bin /usr/sbin /bin /sbin -name ntp
#
为什么find
在两种情况下都会给出0
的退出状态,无论是找到还是找不到可执行文件
答案 0 :(得分:5)
find
不会更改退出状态。您可以将其输出通过管道传输到grep
以检查它是否输出任何内容:
if find /usr/bin /usr/sbin /bin /sbin -name ntpd | grep -q ^ ; then
echo Found
else
echo Not found
fi