在bash中从循环执行python的输出
Posted
技术标签:
【中文标题】在bash中从循环执行python的输出【英文标题】:Executing output of python from loop in bash 【发布时间】:2014-05-28 08:05:25 【问题描述】:我写了一个循环中包含python命令的bash:(脚本的一部分)
#!/bin/bash
ARG=( $(echo "$@:3"))
for (( i=1; i<=$#-3; i++ ))
do
python -c "print('<Command with variables>' * 1)"
done
当我运行它时,取决于我的参数数量,例如我有这个输出:
nohup command-a &
nohup command-b &
nohup command-c &
如何立即执行 bash 的输出行?
我可以告诉 python 命令在每次迭代中运行它们吗?怎么样?
谢谢
【问题讨论】:
【参考方案1】:您可以通过在子 shell 中执行 python 代码并随后评估该 shell 的内容来实现。
eval $(python -c ...)
$()
返回一个可以用eval
评估的字符串
【讨论】:
【参考方案2】:你问了两个问题。我只能回答第一个:
如果您想运行标准输出的命令,只需将它们重定向到 bash:
python -c 'print "ls"' | bash
【讨论】:
好的,你的回答对我的两个问题都有好处......所以我可以做到:do python -c "('nohup <command> &') * 1" | bash
它应该可以工作以上是关于在bash中从循环执行python的输出的主要内容,如果未能解决你的问题,请参考以下文章