我想运行由 Python 脚本生成的一系列 bash 命令。命令的格式为 export foo="bar"
和 alias foo=bar
。他们必须修改当前进程的环境。
这很好用:
$(./generate_commands.py)
直到导出命令包含空格,例如导出 x="ab"
。这会生成错误,并且仅导出“a
(包括引号)。
目前我正在通过将generate_commands输出到临时文件并获取它来解决这个问题,但是有没有更优雅的解决方案?
最佳答案
./generate_commands | bash
这会将脚本的输出作为输入传递给 bash
编辑:
要允许变量在当前 shell 中可见,您需要获取输出:
source <(./generate_commands)
或
. <(./generate_commands)
关于bash - 在 bash 中执行生成的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16341901/