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

有没有办法运行命令(例如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!'

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...