bash - 在 bash 中执行生成的命令

标签 bash

我想运行由 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/

相关文章:

SVN:和 bash:如何判断是否有未提交的更改

bash - 从 bash 中的管道读取时“读取”不会超时

regex - 使用 bash 查找文件时提取部分文件名

bash - 转换为数字

bash - 如何删除包含特定字符串的所有行,但仅当后面的字符是 CJK 字符时?

bash - 程序化的 ngrok 隧道 URL

linux - crontab 在 arch linux 下不工作

string - Bash - 如何替换特定索引处的字符(包括索引零)

python - 使用shell脚本并行执行多个脚本

bash - 在 heredoc 中对 shell 变量使用双引号