我想知道哪种方法是正确的(更好,更快,更合适)。
我正在编写一个脚本,该脚本将在xfce菜单中为二进制列表创建一个条目,仅当该二进制文件安装在系统上(基于Linux arch)时。
我应该这样检查二进制文件吗
Check if a program exists from a Bash script
还是应该检查/usr/share/中是否包含包含二进制文件的目录?
if [ -d "$DIRECTORY" ]; then
谢谢
最佳答案
这是我的两分钱:
根据您的需求定制的链接页面上的测试将是“更好”的测试。例如:
command -v foo >/dev/null 2>&1 || your failure code here
这将比仅检查目录是否存在(
if [ -d "$DIRECTORY" ]; then
)优越,因为目录可能存在,但是命令由于其他原因而可能失败,因此使XFCE菜单上的链接无效。因此,在我看来,仅检查目录是否存在是次等的,因为其他测试保证了该命令可以执行。
关于linux - Bash : Checking binary vs checking directory,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43722869/