首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bash -c运行osascript

使用bash -c运行osascript
EN

Stack Overflow用户
提问于 2014-06-13 19:28:29
回答 1查看 498关注 0票数 0

我正在开发一个崇高的文本插件(Python),我有一些shell脚本,它们是它的一部分。由于Package为您提供了压缩的包,所以这些脚本不能从zip中作为文件运行,所以我将它们存储为字符串,并使用subprocess.Popen和bash -c运行它们。这个脚本的Mac版本需要osascript,我在运行字符串时遇到了问题。脚本的抄本部分如下(在它正常运行之前的一切):

代码语言:javascript
复制
osascript <<END
    tell application "Terminal"
        tell window 1
            activate
            set w to do script "clear; bash -c \"ssh -t $simulator_user@$simulator_host '$token $build_args'; echo; echo Press any key to continue; read -n 1; exit\""
        end tell
    end tell
END

到目前为止,我已经成功地用activate实现了第一个osascript -e 'tell application "Terminal" to tell window 1 to activate';语句,但是第二个语句给我带来了很多麻烦,主要是因为所有的引号。我一直在使用Python格式作为字符串。我得到的最远的是

代码语言:javascript
复制
script = """"clear; bash -c "ssh -t $simulator_user@$simulator_host '$token $build_args'; echo; echo Press any key to continue; read -n 1; exit"\""""
darwin_osa2 = """osascript -e 'tell application "Terminal" to tell window 1 to set w to do script {}';""".format(script)

但是我得到的东西是"83:87:语法错误:标识符不能跟着这个“。(-2740)“和其他同样非特定的错误。有谁知道将第二条语句格式化为bash -c使用的正确方式(或者更好的方法,运行它的更简单的方法)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-15 12:46:22

您可以创建文件.no-sublime-package和package将提取压缩包。这样您就可以添加脚本并执行它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24212615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档