首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行stdout结果

执行stdout结果
EN

Unix & Linux用户
提问于 2016-10-23 21:27:29
回答 3查看 2.4K关注 0票数 1

是否有一种方法实际执行shell命令的结果,而不是将它们用作另一个命令的参数?

例如,我想在文件夹中的所有可执行文件上运行“--版本”,比如:

代码语言:javascript
复制
ls /usr/bin/ | --version

我找到了一种使用find/exec的方法:

代码语言:javascript
复制
find /usr/ -name valgrind -exec {} --version \;

但我想用ls来做。我已经找了45分钟了,找不到任何帮助。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2016-10-23 21:40:35

尝试这样做:

代码语言:javascript
复制
printf '%s\n' /usr/bin/* | while IFS= read -r cmd; do "$cmd" --version; done 
票数 2
EN

Unix & Linux用户

发布于 2016-10-23 21:37:08

珀尔bash

代码语言:javascript
复制
ls -1 | perl -pe 's/\n/ --version;\n/g' | bash

沙格

代码语言:javascript
复制
ls -1 | xargs -I {} bash {} --version;
票数 1
EN

Unix & Linux用户

发布于 2016-10-24 02:07:54

若要将shell输出重新计算为shell输入,请使用eval

代码语言:javascript
复制
eval "$(your command here)"
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/318401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档