微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bash:从stdin执行管道线路

经过一番搜索,我还没有找到解决方法.我认为搜索条件过于笼统.我想知道如何执行一些由其他来源生成的行(在bash提示符下).例如,我有一个 Python脚本,它动态生成许多bash命令并将它们打印到stdout.我希望这些行作为bash脚本执行,而不必将它们保存到磁盘.例如:
$python example.py
touch 1 2 3 4 5
rm 1 2 3 4 5
echo "Done"

我想做的事情如下:

$python example.py | executeLines

bash中是否存在这样的命令/功能?有时其中一个命令可能以非零退出状态退出,因此附加&&每个命令然后运行:

$`python example.py`

不会总是工作,似乎是一个笨拙的解决方案.

你有没有尝试过
$python example.py | bash

它应该工作,因为这是一个常见的技巧.例如,监控工具munin有一个节点配置器(munin-node-configure),告诉你可以运行哪些插件,然后带一个–shell标志,它会吐出一堆ln -s命令来链接插件,直接用管道传输到bash.

甚至曾经有一个配置工具的工具 – 它已经超过15年了,我不记得是什么 – 你在哪里成为root并通过打开telnet会话到autoconfigurator完成配置并直接将输出发送到bash,与

# telnet example.com 7001 | bash

这些天我无法想象做那样的事情.

原文地址:https://www.jb51.cc/bash/385723.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐