我试图通过运行 来终止 Xcode killall Xcode.app
,当我通过终端运行时,它正常工作。但是,如果我将它放入我保存在桌面上的名为 的 bash 脚本中re_xcode
,该脚本将输出以下错误。请问您能告诉我我哪里出错了吗?
未找到属于您的匹配进程
文件 /Users/Max/Desktop/Applications/Xcode.app 不存在。
#!/bin/bash
killall Xcode.app
open ./Applications/Xcode.app
答案1
两个错误:
killall
以进程名称作为参数。Xcode.app
然而,它是一个应用程序包。它包含的内容远不止进程,还包括属于应用程序的所有类型的文件(图形、翻译数据等)。因此,终止 Xcode 的实际方法是:
killall Xcode
或者,以一种理智的方式,使用 AppleScript:
osascript -e 'tell app "Xcode" to quit'
您的另一个错误是引用了
.
当前脚本所在的目录,该目录可以是任何目录。就您而言,它是桌面。因此,您的kill
命令可以正常工作,但open
会失败,因为您的桌面上没有 Xcode(或“应用程序”文件夹)。Xcode 不再安装到
/Developer
。Mac App Store 版本是 下的一个独立应用程序/Applications/Xcode.app
。因此,您可以执行以下操作:open /Applications/Xcode.app
然而,最便携的解决方案就是使用:
open -a Xcode
无论 Xcode 安装在何处,这都会打开它,因为它依赖于 LaunchServices 数据库来找出正确的路径。
更进一步,与其将其作为 bash 脚本执行,为什么不在 中创建一个别名.bash_profile
?这将使从命令行在任何地方执行都更加简单。
alias rex='killall Xcode && open -a Xcode'
答案2
看起来您正在从桌面运行该脚本,但找不到 xcode.app 的路径。请检查正确的位置,对我来说是/Developer/Applications/Xcode.app
。