i打算从脚本内部使用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
的退出状态
find
当找不到指定文件时,不会更改退出状态。您可以将其输出输送到grep
来检查其输出的任何内容:
if find /usr/bin /usr/sbin /bin /sbin -name ntpd | grep -q ^ ; then
echo Found
else
echo Not found
fi