2016-04-26 11 views

答えて

4

for ((i = 1; i < 200; i += 50)); do echo $i $(($i+49)); done 

$(())は算術拡張用です。

for ((; ;))は、C forの構文に似た複合コマンドです。

1

これを試してみてください:

#!/bin/bash 

start=$1 
end=$2 
step=$3 

while [ $start -le $end ] 
do 
    echo $start $((start + step-1)) 
    ((start+=step)) 
done 

スタート、終了ステップの値はpositionnalパラメータとして渡されます。

0

あなたは、ブレース展開を持つ2つのシーケンスを生成改行とスペースを交換し、その結果をまとめて貼り付けることができます:

$ paste <(echo {1..151..50} | tr ' ' $'\n') <(echo {50..200..50} | tr ' ' $'\n') 
1 50 
51 100 
101 150 
151 200 
関連する問題