启动时使用 .command 脚本执行多个命令

启动时使用 .command 脚本执行多个命令

我试图弄清楚为什么这个命令脚本不起作用。

杀死所有 Google\ Chrome;

打开 /Application/Google\ Chrome.app -args --disable-restore-session-state

。我试图终止启动时打开的任何 Chrome 实例。然后使用参数启动 Chrome。我必须运行脚本两次才能启动 Chrome。有人能帮忙吗?

答案1

如果 Chrome 已经打开,我还必须运行killall Google\ Chrome; open -a Google\ Chrome --args --disable-restore-session-state两次。不过,这两种方法第一次都可以成功:

osascript -e 'quit app "Google Chrome"' 2> /dev/null && sleep 0.5; open -a Google\ Chrome --args --disable-restore-session-state

killall Google\ Chrome 2> /dev/null && sleep 0.5; open -a Google\ Chrome --args --disable-restore-session-state

killall向进程发送一个TERM信号,这通常是安全的,但是向 Chrome 发送退出 Apple 事件允许它例如在表单中存在未提交的文本时请求确认。

open -a通常与指定应用程序包的完整路径一样快。

相关内容