是否有一种方法实际执行shell命令的结果,而不是将它们用作另一个命令的参数?
例如,我想在文件夹中的所有可执行文件上运行“--版本”,比如:
ls /usr/bin/ | --version我找到了一种使用find/exec的方法:
find /usr/ -name valgrind -exec {} --version \;但我想用ls来做。我已经找了45分钟了,找不到任何帮助。
发布于 2016-10-23 21:40:35
尝试这样做:
printf '%s\n' /usr/bin/* | while IFS= read -r cmd; do "$cmd" --version; done 发布于 2016-10-23 21:37:08
发布于 2016-10-24 02:07:54
若要将shell输出重新计算为shell输入,请使用eval。
eval "$(your command here)"https://unix.stackexchange.com/questions/318401
复制相似问题