Bash:检查二进制vs检查目录

时间:2017-05-01 16:46:33

标签: linux bash

我想知道哪种方法是正确的(更好,更快,更合适)。

我正在编写一个脚本,它将在xfce菜单中为二进制列表创建一个条目,只有在系统上安装了这个条目(基于Linux arch)。

我应该以这种方式检查二进制文件

Check if a program exists from a Bash script

或者我应该检查包含二进制文件的目录是否在/ usr / share /中可用?

F a

由于

1 个答案:

答案 0 :(得分:1)

这是我的两分钱:

根据您的需求定制的链接页面上的测试将是一个更好的"测试。例如:

command -v foo >/dev/null 2>&1 || your failure code here

优于仅检查目录存在(if [ -d "$DIRECTORY" ]; then),因为目录可能存在,但命令可能因某些其他原因而失败,从而使XFCE菜单上的链接无效。

因此,在我看来,只检查目录是否存在,因为另一个测试可以保证命令可以执行。