来自终端的别名命令,在特定文件夹上打开新终端

来自终端的别名命令,在特定文件夹上打开新终端

我的 .bash_profile 中已经有一个该命令在运行:

alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./'

所以:

  • 将 CD 放入文件夹中
  • 开始手工服务
  • 在该地址打开一个新的浏览器窗口
  • 在同一位置打开新的 Finder 窗口

我希望它做的是添加一个新命令来执行类似以下操作:

open -a Terminal cd /Applications/sites/mysite

因此它会打开一个新的终端窗口,然后将该新终端窗口 cd 到同一个文件夹。

有可能吗?我试过这个:

alias mysite='cd /Applications/sites/mysite;pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./ | open -a Terminal cd /Applications/sites/mysite'

但我无法让它工作。它像第一个示例中一样执行所有操作,但从不打开新的终端窗口 :(

提前致谢!

答案1

我不认为你的命令的最后一部分(open -a Terminal cd /Applications/sites/mysite)起作用,因为参数没有被传递作为命令执行,请参阅类似的问题这里

一个解决方法是使用 AppleScript 来完成最后一部分:

osascript -e 'tell application "Terminal" to do script "cd /Applications/sites/mysite"'

要将其包含在别名定义中,请确保所有单/双引号匹配并在必要时转义:

alias mysite='cd /Applications/sites/mysite; pwd; php artisan serve --port=9000 | open http://localhost:9000 | open -a Finder ./ | osascript -e "tell application \"Terminal\" to do script \"cd /Applications/sites/mysite\""'

那对你有用吗?

相关内容