将参数值发送到新终端

时间:2016-12-06 11:27:58

标签: bash macos osascript

我想打开新终端并在OSX上传递一些值。我试过这段代码:

open_new_terminals_automatically()
{
    osascript -e 'tell application "Terminal" to do script "cd $1; $2"'
}

# call the function and pass arguments
open_new_terminals_automatically "/root/var/fome_path" "some_commnds -argument"

这是解释我想做什么的非常简单的例子。 我如何实现它在OS X上作为bash脚本运行。

1 个答案:

答案 0 :(得分:0)

除了你需要双引号而不是单引号以使变量扩展正常工作外,你几乎可以工作。

只需创建包含内容

的脚本run.sh即可
osascript -e "tell application \"Terminal\" to do script \"cd $1; $2\""

然后您可以使用sh run.sh "/root/var/fome_path" "some_commnds -argument"调用它。

如果您希望在一个脚本中完成所有操作,那么只需执行

open_new_terminals_automatically()
{
    osascript -e "tell application \"Terminal\" to do script \"cd $1; $2\""
}

# call the function and pass arguments
open_new_terminals_automatically "/root/var/fome_path" "some_commnds -argument"