次のような、引数に指定されたコマンドを n 回繰り返し実行するスクリプト repeat があるとしよう。
#!/bin/sh SEQ=/usr/bin/seq TIMES=$1 shift T=`$SEQ 1 1 $TIMES` for i in $T; do for COMMAND in "$@"; do $COMMAND done done
実行すると次のようになる。
$ repeat 3 "echo hoge" hoge hoge hoge $
$ repeat 2 "echo hoge" "echo piyo" hoge piyo hoge piyo
しかし、次のような処理を行いたいとすると無理が生じる。
$ repeat 3 "repeat 2 'echo hoge'" /usr/local/bin/repeat: line 20: 'echo: command not found /usr/local/bin/repeat: line 20: hoge': command not found /usr/local/bin/repeat: line 20: 'echo: command not found : :
解決するにはどうしたらいいでしょうか。