这个 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 基础帮助您入门。