Untuk loop mungkin cara yang tepat untuk melakukannya, tetapi di sini ada alternatif yang menyenangkan:
echo -e {1..10}"\n" |xargs -n1 some_command
Jika Anda memerlukan nomor iterasi sebagai parameter untuk permohonan Anda, gunakan:
echo -e {1..10}"\n" |xargs -I@ echo now I am running iteration @
Sunting: Sudah benar dikomentari bahwa solusi yang diberikan di atas akan berfungsi dengan baik hanya dengan menjalankan perintah sederhana (tidak ada pipa, dll). Anda selalu dapat menggunakan sh -c
untuk melakukan hal-hal yang lebih rumit, tetapi tidak sepadan.
Metode lain yang saya gunakan biasanya adalah fungsi berikut:
rep() { s=$1;shift;e=$1;shift; for x in `seq $s $e`; do c=${@//@/$x};sh -c "$c"; done;}
sekarang Anda dapat menyebutnya sebagai:
rep 3 10 echo iteration @
Dua angka pertama memberikan kisaran. The @
akan diterjemahkan ke nomor iterasi. Sekarang Anda dapat menggunakan ini dengan pipa juga:
rep 1 10 "ls R@/|wc -l"
dengan memberi Anda jumlah file dalam direktori R1 .. R10.
let ++n
alih-alihn=$((n+1))
(3 karakter kurang)