【问题标题】:Run a shell script in a new Terminal window from another shell script (OS X)从另一个 shell 脚本 (OS X) 在新的终端窗口中运行一个 shell 脚本
【发布时间】:2017-01-17 18:27:14
【问题描述】:

如何让一个 shell 脚本打开多个新的终端窗口来执行它们的每个 shell 脚本?就像问here 一样,但在 OS X 中。

我有一个 for-each 循环,它通过所有给定的参数运行,并且应该在新的终端窗口中为每个给定的参数执行一个脚本(并传递参数)。

这是我尝试过的:

#!/bin/bash

for arg in $@ do

  open -a Terminal ./somescript.sh --args $arg

done

【问题讨论】:

标签: bash macos shell terminal scripting


【解决方案1】:

我认为你的意思是:

#!/bin/bash
for arg in "$@"; do
  osascript <<EOF
tell application "Terminal" to do script "echo \"$arg\""
EOF
done

然后运行:

chmod +x aboveScript
./aboveScript a b "cd ef"

如果您愿意,请将echo 更改为./somescript。

【讨论】:

  • 没有osascript可以实现吗?我应该只使用bash。我通过写 gnome-terminal -x somescript.sh $arg 让它在 Linux 中工作,并希望在 OS X 上找到类似的东西。
  • 如果你安装XQuartz(X11 Windows for OSX)你可以像在Linux上一样运行xterm -e "..."。
猜你喜欢
  • 1970-01-01
  • 2014-07-25
  • 2013-04-18
  • 2015-08-15
  • 2012-01-11
  • 2021-12-13
  • 2019-02-10
  • 2021-12-15
  • 2021-06-03
相关资源
最近更新 更多