我想通过bash脚本测试文件或目录是否存在:
if [ -f "$file" -o -d "$file" ]; then
# Do things
fi
但是这个测试不能在应用程序文件(.app)上工作,我在测试手册页上找不到答案,并且认为.app被认为是osx上的文件夹。
答案 0 :(得分:2)
检查目录是否存在:
if [ -d "$<app name>.app" ]; then
# Control will enter here if $<app name>.app exists.
fi
检查目录是否存在:
if [ ! -d "$<app name>.app" ]; then
# Control will enter here if $<app name>.app doesn't exist.
fi
答案 1 :(得分:1)
存在Os X应用程序的简单Bash命令行测试
if open -Ra "$<app name>" ; then
# Control will enter here if $<app name>.app exists.
else
# Control will enter here if $<app name>.app doesn't exist.
fi
示例:是否已安装应用程序TeXShop
?
if open -Ra "TeXShop" ; then
echo "VERIFIED: 'TeXShop' is installed"
else
echo "ERROR: 'TeXShop' is not installed"
fi
<强>说明强>
测试很快 - 我的MacBook Pro上大约20毫秒 - 而且(显然)没有Finder副作用。该测试(显然)适用于任何响应适当的Os X应用程序:
open -a "${<app name>}" "${<file name}"