如何在 Ubuntu 上安装“重复”?

如何在 Ubuntu 上安装“重复”?

这个 StackOverflow 问题提到了一个名为“repeat”的 unix 命令。听起来它正是我想要的。通过阅读问题和答案,我认为用户使用的是 Mac OSX。

但是该命令在 Ubuntu 上默认没有安装,我找不到要安装的包来获取它。我应该安装什么?

答案1

我在 Ubuntu 上找不到这个命令。它似乎不存在。我甚至觉得很奇怪,StackOverflow 上的帖子说它是一个内置当我在 Ubuntu 上找不到它时,我可以使用以下命令。

编辑:正如 Matt 所说,这是一个内置的 csh 命令。以下是使用 bash 执行相同操作的提示。

如果您想要重复命令 n 次,那么可以使用循环来实现:

for i in {1..n}; do yourcommand; done

例如,要打印 100 次“It works”,请使用:

for i in {1..100}; do echo "It works"; done

如果您想要一个repeat功能,您可以添加如下内容到您的~/.bashrc

function repeat() { 
    local times="$1"; 
    shift; 
    local cmd="$@"; 

    for ((i = 1; i <= $times; i++ )); do 
       eval "$cmd"; 
    done 
 }

~/.bashrc再次使用来源. ~/.bashrc,您可以调用它:

 $ repeat 2 date
Mon Dec 21 14:25:50 CET 2009
Mon Dec 21 14:25:50 CET 2009

 $ repeat 3 echo "my name is $USER"
my name is raphink
my name is raphink
my name is raphink

答案2

您可以使用 watch,这是任何 shell 中可用的标准命令。例如:

watch -n 5 date

答案3

根据提示,我猜测它是 csh 内置命令。

从阅读“man csh”来看,情况似乎确实如此

  repeat count command
           The specified command, which is subject to  the  same  restric-
           tions  as  the  command  in the one line if statement above, is
           executed count times.  I/O  redirections  occur  exactly  once,
           even if count is 0.

因此,为了使用它,要么键入“csh”并从命令行发出它,要么编写脚本,以便它使用#!/bin/csh作为顶部的解释器。以下是一些csh 基础帮助您入门。

相关内容