2017-12-31 121 views
0

無制限のパラメータでBashスクリプトを作成したい。Bash - 1カップルあたりのパラメータ

sh example.sh data1 data2 data3 data4 data5 data6 dataN 

そして、私はそれが2つずつパラメータを取得したいです。私はdo-whileで試してみました:

while (("$#")); do 
    echo $1 $2 
    shift 
done 

しかし、最後はいつも一人である:

data1 data2 
data2 data3 
data3 data4 
data4 data5 
data5 data6 
data6 

これを行うための最善の方法は何ですか?

答えて

3

1つではなく、2つの引数をシフトする必要があります。引数のないshiftshift 1と同じです。

while (($#)); do 
    echo "$1" "$2" 
    shift 2 
done 
+0

これは完全に機能します。どうもありがとうございました ! – user1911

関連する問題