我想运行一系列由Python脚本生成的bash命令。这些命令的格式为export foo="bar"
和alias foo=bar
。他们必须修改当前流程的环境。在bash中执行生成的命令
这个伟大的工程:
$(./generate_commands.py)
直到export命令包含空格,如export x="a b"
。这会生成一个错误,并且只导出"a
(包含引号)。
目前我正在通过输出generate_commands到一个临时文件并找出它来解决这个问题,但是有没有更优雅的解决方案?
你能准确地表明你在做什么吗? – MMM 2013-05-02 15:28:09
我希望我的问题更清楚。 – 2013-05-02 16:57:22
“他们必须修改当前进程的环境。”这是行不通的。如果您当前正在使用'python',那么无论这样做的确切语法或方法如何,运行'bash'以评估您生成的命令将启动一个单独的进程,该进程根据定义不会影响环境变量其父程序。 – twalberg 2013-05-02 17:18:28