我正在尝试将 Firefox 添加到我的 PATH 中,如下所示这教程。我的 mac book air 上 GUI 的应用程序文件夹中有 Firefox。我熟悉向路径添加位置。但我不知道如何在我的机器上找到 firefox 可执行文件。应用程序文件夹在哪里寻找 Firefox 可执行文件?
答案1
二进制文件将位于应用程序包内。例如,
$ file /Applications/Firefox.app/Contents/MacOS/firefox-bin /Applications/Firefox.app/Contents/MacOS/firefox-bin: Mach-O universal binary with 2 architectures /Applications/Firefox.app/Contents/MacOS/firefox-bin (for architecture x86_64):Mach-O 64-bit executable x86_64 /Applications/Firefox.app/Contents/MacOS/firefox-bin (for architecture i386): Mach-O executable i386
你可以通过运行启动 Firefox /Applications/Firefox.app/Contents/MacOS/firefox
,然后您可以输入/Applications/Firefox.app/Contents/MacOS
您的$PATH
以帮助您节省一些打字时间。然而,Mac OS X 从命令行启动应用程序的方法是
open -a Firefox
答案2
使用类型
您可以使用该命令type
来查找可执行文件在文件系统上的来源。
例子
$ type -a firefox
firefox is /usr/bin/firefox
使用定位
如果firefox
尚未位于 PATH 上,则使用该locate
命令询问locate 数据库可能是您唯一的其他选择。但是,直到updatedb
命令有机会将这些新添加的文件索引到文件系统之前,最近安装的项目可能不会显示在那里。
例子
$ locate firefox | grep 'firefox$'
/home/saml/.cache/mozilla/firefox
/home/saml/.mozilla/firefox
/home/saml/.rvm/gems/ruby-1.9.2-p180/doc/selenium-webdriver-2.5.0/rdoc/lib/selenium/webdriver/firefox
/home/saml/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/firefox
/home/saml/.rvm/gems/ruby-1.9.2-p180/gems/selenium-webdriver-2.5.0/lib/selenium/webdriver/firefox
/home/saml/Downloads/MISC/youtubexbmc/youtubexbmc-7c51c2b201a7/extensions/youtube-firefox
/home/saml/SparkleShare/personal_repo/APPS/installed/firefox
/usr/bin/firefox
/usr/lib64/firefox
/usr/lib64/firefox/firefox
查找
如果您无法访问locate
OSX 上的该工具,您mdfind
也可以尝试使用来查找firefox
.
答案3
你可以这样做:
$ readlink -f $(type -p firefox)
如果firefox
不在 PATH 中:
$ find / -name firefox 2>/dev/null
答案4
不完全相同的问题,但由于我在谷歌搜索时找到了这个答案,所以我也在这里提供我的解决方案。
我试图找到 firefox 可执行文件来从黄瓜/硒测试等脚本中执行它。这就是我所做的:
用聚光灯找到它
firefox_paths = %x[mdfind "kMDItemFSName = Firefox.app"]
firefox_path = firefox_paths.split('\n').first.chomp
firefox_executable_path = File.join(firefox_path, '/Contents/MacOS/firefox')
Selenium::WebDriver::Firefox::Binary.path=firefox_executable_path
另一种方法是转储启动服务数据库并在那里 grep 它
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump \
| grep -n7 org.mozilla.firefox \
| grep path: \
| awk '{ print($3) }'