😀
ワンライナーで無限ループ
無限ループ
shell を叩いていると時々無限ループしたくなる、その時最も短い行で無限ループしたい
while
while :; do ./something; done
最も単純だがちょっと文法が分からなくなりがちな上に、回数制限もかけられない
for
for i in {0..42}; do ./something; done
回数制限を持たせられるが、長い、面倒くさい
文法は覚えていても良さそう
for i in {0..42}; do ./something --trial $i; done
使い道はある。
yes
yes ./something | sh
考える限り一番短い、回数制限をかけたい場合は head
を使う
yes ./something | head -n 100 | sh
xargs
yes | xargs -I {} ./something
うーん、まぁ…
一応、実行回数ごとに引数に何回かを渡すこともできるようになる
seq 42 | xargs -I {} ./something --trial {}
repeat
repeat 42 ./something
csh系 (zsh) 使っているなら、イイんじゃない?
結論
yes
コマンドは楽しい
Discussion