加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何使用bash shell多次运行命令?

发布时间:2020-12-13 18:45:12 所属栏目:Linux 来源:网络整理
导读:有没有办法运行命令(例如ps aux | grep someprocess)n次? 就像是: run -n 10 'ps aux|grep someprocess' 我想以交互方式使用它,请不要发布脚本. 更新:我之所以这样说的原因是,我在许多机器上工作,我不想将所有我的adaped脚本等导入到每个盒子中,以便在每
有没有办法运行命令(例如ps aux | grep someprocess)n次?

就像是:

run -n 10  'ps aux|grep someprocess'

我想以交互方式使用它,请不要发布脚本.

更新:我之所以这样说的原因是,我在许多机器上工作,我不想将所有我的adaped脚本等导入到每个盒子中,以便在每台机器上获得相同的功能.

解决方法

我不认为内置的命令或shell存在,因为它是Bourne shell for循环的一个简单子集,因此你自己实现这样的命令非常简单.

对于初学者,您可以使用虚拟for循环:

for i in `seq 10`; do command; done

或者根据JimB的建议等效,使用Bash内置来生成序列:

for i in {1..10}; do command; done

这每次迭代十次执行命令 – 它可以是一个管道或一系列命令分隔;或者&&您可以使用$i变量来了解您所在的迭代.

如果你认为这个单线程是一个脚本,所以对于某些未指定(但也许是有效)的原因,你可以将它作为一个命令实现,或许你的.bashrc(未经测试)就是这样的:

#function run
run() {
    number=$1
    shift
    for i in `seq $number`; do
      $@
    done
}

用法:

run 10 command

例:

run 5 echo 'Hello World!'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读