微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linuxfind二进制文件

我试图在Linux系统中使用这样的东西来find一个二进制文件

if [ -f `which $1` ] then echo "File Found" else echo "File not Found" fi

代码工作正常的问题是“哪个”将返回一个空运算符,BASH解释为存在的东西,所以一个文件总是回来find。 任何build议将是伟大的。

谢谢

Bash:find并复制

如何把bash / awk命令放入一个variables(不是输出命令)

Git初始推送不良文件描述符错误

将GEtvariables从一个Bash / PHP脚本传递到另一个

用bash脚本设置p4客户端

使用for循环seq分配dynamicbashvariables名称

将命令的输出分配给shell脚本中的variables

如何查找最近x分钟内修改文件(查找-mmin不能按预期工作)

使用awk,grep,sedparsing大型日志文件(〜5gb)时的性能问题

从另一个脚本运行bash脚本而不等待脚本完成执行?

if [ `which "$1"` != "" ]; then

当它找到二进制文件时不会返回"" 。

更新

经过一番思考,没有理由使用[[ ]] (或[ ] )。 甚至没有理由使用命令替换$()

if which "$1" > /dev/null 2>&1; then echo "found" else echo "not found" fi

如果你使用bash那么请使用[[ ]]构造。 其中一个好处(很多)是没有这个问题的

[[ -f $(which $1) ]] && echo found

另外,“不赞成使用$()

我喜欢这个“哈希”(如果你是一个bash用户..)(它实际上比它更可移动的行为)

hash blahblah

bash:hash:lklkj:找不到

hash /bin/ls <-- silently successful

这种方法在Linux和OSX上的工作方式类似,其中“哪个”具有不同的行为。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐