我正在开发一个崇高的文本插件(Python),我有一些shell脚本,它们是它的一部分。由于Package为您提供了压缩的包,所以这些脚本不能从zip中作为文件运行,所以我将它们存储为字符串,并使用subprocess.Popen和bash -c运行它们。这个脚本的Mac版本需要osascript,我在运行字符串时遇到了问题。脚本的抄本部分如下(在它正常运行之前的一切):
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格式作为字符串。我得到的最远的是
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使用的正确方式(或者更好的方法,运行它的更简单的方法)?
发布于 2014-06-15 12:46:22
您可以创建文件.no-sublime-package和package将提取压缩包。这样您就可以添加脚本并执行它们。
https://stackoverflow.com/questions/24212615
复制相似问题