2016-05-17 5 views
0

私は、1)infile、2)outfile、3)infileに追加する1つの番号の3つのコマンドライン引数をとるスクリプトを用意しています。ksh - コマンドライン引数を配列に追加する

私は上記の引数(3)に似た任意の数の引数をとり、それぞれに基づいて個々の出力ファイルを作成できるようにこのスクリプトを修正したいと思います。これを実現する最良の方法は、引数(2)の後にすべての引数を配列に代入し、forループを使用して配列を反復処理することです。

次のコードを使用してアレイを作成するには十分に簡単そうです:

set -A arrayName "[email protected]" 

私の質問は2より大きい任意の数の引数を可能にしながら、正確に、私は配列にのみ引数以降3を割り当てるだろうか、あります?

答えて

0

私はこれがあまりにも単純な解決策である場合、私を許してください。しかし、配列を作成する必要はありません。追加する数字を見てください。

echo 'start' 
echo 'usage: my_prog.ksh infile outfile numtoappend [...]' 
echo '$*' 
echo $* 

echo 'infile: ' $1 
infile=$1 
shift 
echo 'outfile: ' $1 
outfile=$1 
shift 
cat $infile > $outfile 

echo 'starting loop: ' 
until [[ $# -eq 0 ]];do 
    echo '$numbers to append' 
    echo $1 
    echo $1 >> $outfile 
    shift 
done 
echo 'end' 
関連する問題