web-dev-qa-db-ja.com

Ubuntuに「repeat」をインストールするにはどうすればよいですか?

このStackOverflowの質問 「repeat」と呼ばれるunixコマンドについて言及しています。それはまさに私が望んでいることをしているように聞こえます。質問と回答を読んだところ、ユーザーはMacOSXを使用していると思います。

ただし、そのコマンドはデフォルトでUbuntuにインストールされておらず、インストールするパッケージが見つかりません。何をインストールすればよいですか?

3
Rory

Ubuntuでこのコマンドが見つかりません。存在しないようです。 StackOverflowの投稿に、Ubuntuで見つからないのに、builtinコマンドだと書かれているのは非常に奇妙だと思います。

編集:マットが指摘したように、これは組み込みのcshコマンドです。以下は、bashでまったく同じことを行うためのヒントです。

コマンドをn回繰り返すことが必要な場合は、ループを使用してそれを行うことができます。

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

たとえば、「Itworks」を100回印刷するには、次を使用します。

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
8
ℝaphink

どのシェルでも使用できる標準コマンドであるwatchを使用できます。例えば:

watch -n 5 date
2
Tobu

プロンプトから、それはcshビルトインだと思います。

そして「mancsh」を読んだことから、それは事実であるように思われます

  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の基本 を始めましょう。

1
Matt Simmons