Bash 執行 for 1~100 的寫法
最開始只是要對程式跑100次, 做個時間測試而已, 例如下述:
- for i in {1..100};
- do
- time curl -o /dev/null https://blog.longwin.com.tw;
- done
- # 跑100次, 印出時間
後來想要將變數代入後, 發現一連串的事情.
註: {1..100}, 使用 {1..$END} 無法執行. (需搭配 seq 或者 for 換寫法)
下述就不解釋了~ 直接看程式和結果即可.
- for i in {1..5};
- do
- echo $i;
- done
- # 印出 1 2 3 4 5 (換行)
要將 {1..5} 的 5 用變數帶入, 就會需要搭配 seqseq 1 5 # 印出 1 2 3 4 5
- END=5
- for i in $(seq 1 $END);
- do
- echo $i;
- done
- # 印出 1 2 3 4 5 (換行)
- # 或者 for 寫法換掉
- BEGIN=1
- END=5
- for ((i=$BEGIN; i<=$END; i++))
- do
- echo -n "$i "
- done
- # 用空隔分隔, 印出 1 2 3 4 5
- for i in {0..10..2}
- do
- echo $i
- done
- # 印出 0 2 4 6 8 10 (換行)
- for i in $(seq 1 2 10);
- do
- echo $i;
- done
- # 印出 1 3 5 7 9 (換行)
沒有留言:
張貼留言