首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shell脚本,列出文件夹中的所有目录,并为每个目录运行命令。

Shell脚本,列出文件夹中的所有目录,并为每个目录运行命令。
EN

Stack Overflow用户
提问于 2017-05-05 15:32:46
回答 2查看 235关注 0票数 0

我必须编写一个脚本来查找特定目录中的所有文件夹,并为每个文件夹运行一个命令。

例如:有5个文件夹列为

  • 分货代试验_MLC_app04/
  • 分货代试验_MLC_app06/
  • 分货代试验_MLC_app08/
  • 分货代试验_MLC_app10/
  • 分货代试验_MLC_app02/

它应该运行以下命令

  • 分路转发器_TEST_MLC_app02/bin/splunk启动
  • 分货代测试_MLC_app04/bin/启动
  • 分货代测试_MLC_app06/bin/启动
  • 分货代测试_MLC_app08/bin/启动
  • 分货代测试_MLC_app10/bin/启动
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-05 16:08:16

使用循环:

代码语言:javascript
复制
#!/bin/bash
for dir in splunkforwarder_TEST_MLC_app*/; do
  [[ -x "$dir"bin/splunk ]] || continue # skip if there is no splunk here
  "$dir"bin/splunk start
done
  • glob表达式中的尾随/仅扩展到目录splunkforwarder_TEST_MLC_app04/splunkforwarder_TEST_MLC_app05/等。
票数 0
EN

Stack Overflow用户

发布于 2017-05-05 15:38:21

对一些壳展开来说这很容易..。您甚至不需要使用正则表达式或查找和xargs .我会用*通配符来完成,但是这里的问题是,您希望如何处理命令的输出.

对于手头的具体问题的答案,请使用:

代码语言:javascript
复制
splunkforwarder_TEST_MLC_*/bin/splunk start &

"&“只是将进程发送到后台,并允许shell执行其余的命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43808775

复制
相关文章

相似问题

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