For 루프는 아마도 올바른 방법 일 것입니다. 그러나 여기에 재미있는 대안이 있습니다 :
echo -e {1..10}"\n" |xargs -n1 some_command
호출의 매개 변수로 반복 번호가 필요한 경우 다음을 사용하십시오.
echo -e {1..10}"\n" |xargs -I@ echo now I am running iteration @
편집 : 위에서 언급 한 솔루션은 간단한 명령 실행 (파이프 등 없음)으로 만 원활하게 작동한다고 적절하게 언급되었습니다. 당신은 항상 사용할 수 있습니다sh -c
더 복잡한 작업을 수행하기 위해 를 있지만 그만한 가치는 없습니다.
내가 일반적으로 사용하는 다른 방법은 다음 기능입니다.
rep() { s=$1;shift;e=$1;shift; for x in `seq $s $e`; do c=${@//@/$x};sh -c "$c"; done;}
이제 다음과 같이 호출 할 수 있습니다.
rep 3 10 echo iteration @
처음 두 숫자는 범위를 나타냅니다. 이 @
반복 번호로 변환됩니다. 이제 파이프에서도 사용할 수 있습니다.
rep 1 10 "ls R@/|wc -l"
R1 .. R10 디렉토리의 파일 수를 제공하십시오.
let ++n
대신 사용할 수 있습니다n=$((n+1))
.