回数を指定して、繰り返しを行うシェルスクリプトを書きました。
お知らせ: 新しくホームページを作りました! これから記事を増やしていくつもりなので, 良かったら見て下さい!! ホームページはこちらになります.
Terminal上などで、コマンドを繰り返したいときには、forを使って繰り返すと思います。 ただ、毎回毎回forの構文を使うのも面倒くさいので、簡単に繰り返しが行えるようなシェルスクリプトを書きました。こんな感じです。
#!/bin/sh if [ $# -lt 2 ]; then echo "繰り返しの回数とコマンドを入力してください." echo "e.g. iterate 3 echo \"hello world\"" exit 1 fi count=1 for arg in "$@" do if [ $count -gt 2 ]; then argstr=$argstr" "$arg fi count=`expr $count + 1` done for i in `seq 1 1 $1` do $2 $argstr done
自分の環境ではPATHの通ったフォルダに、iterateという名前で保存してあるので、
$ iterate 3 echo "hello world"
のように打つと、
hello world hello world hello world
と言うような出力が得られます。
PATHの通っていないフォルダに保存した場合は、そのフォルダに入って、以下のように
打てば実行出来ます。
$ ./iterate 3 echo "hello world"
PATHの通っているフォルダにおいておけば、他のシェルスクリプト内にも書けるので、便利だと思います。
ちなみに、実行可能権をつけることも忘れずに。
chmod 755 iterate
などとすれば、iterateファイルは、書き込み、読み込み、実行可能になります。 chmodについては、良かったらここを参考にしてください。