我正在尝试将变量从python脚本发送到bash脚本.我正在使用popen,如下所示:
subprocess.Popen(["bash", "-c", ". mainGui_functions.sh %d %s" % (commandNum.get(), entryVal)])
但是,entryVal有时可以包含一个或多个空格字符.在那种情况下,我将字符串分成多个参数($2,$3 ..)
如何在一个参数中得到它?
解决方法:
简单的解决方案#1:如果您在命令行上键入输入,则可以使用完全相同的方法进行操作;用引号引起来:
subprocess.Popen(["bash", "-c", ". mainGui_functions.sh {} '{}'".format(commandNum.get(), entryVal)])
简单的解决方案2:如果mainGui_functions.sh已经可以执行,那么您可以直接省略bash部分并直接将其参数化.在这种情况下,子流程会确保为您提供带有空格的条目作为单个arg结束:
subprocess.Popen(["mainGui_functions.sh", str(commandNum.get()), entryVal])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。