如何在一个bash脚本中运行多个tell命令打开新窗口?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一个bash脚本中运行多个tell命令打开新窗口?相关的知识,希望对你有一定的参考价值。

我试过了

#!/bin/bash
osascript -e '
  tell application "Terminal"
  do script "cd ~/www/service/code&& npm install && npm run dev"
  activate
  end tell

  tell application "Terminal"
  do script "cd ~/www/app-ui && npm install && npm start"
  activate
  end tell


'

没有发生任何事情,也没有错误。出了什么问题?

答案

最简单的方法是为要在单独窗口中运行的每个部分创建单独的脚本。

#!/bin/sh

cat >scriptA <<EOF
#!/bin/sh
cd ~/www/service/code && npm install && npm run dev
EOF
chmod +x scriptA

cat >scriptB <<EOF
#!/bin/sh
cd ~/www/service/code && npm install && npm run dev
EOF
chmod +x scriptB

open -a Terminal.app scriptA
open -a Terminal.app scriptB

以上是关于如何在一个bash脚本中运行多个tell命令打开新窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何在只有 1 个连接的 bash 循环中运行多个 sqlplus 查询

如何让shell脚本变成可执行文件

用于打开外壳、在外壳中运行命令并保持外壳运行的 Bash 脚本

您如何从屏幕会话中编写 gnu screen 脚本以打开新窗口并在其中运行命令?

如何在 Ruby 脚本中为命令 shell 获取环境变量?

我如何在与关闭终端相同的工作目录中打开终端?