• 締切済み

シェルスクリプトの問題が分かりません。

引数に複数の整数を与えたときに、それらの和を計算するシェルスクリプトを作成する。具体的には $ ./sum.sh 1 2 3 4 5 15 のようになるシェルスクリプトである(引数の個数は可変とする)。 どうしてもわかりません。どうか、よろしくお願いします。

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.3

sum=0 for i in "$@"; do sum=`expr $sum + $i done echo $sum こんな感じでしょうか。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

あ、あともう一つやりかたあった。 ・あなたが得意なプログラム言語で、問題と同じ動作をするプログラムを作って、それに丸投げする。 例えば、 C言語で sum.c を作ってコンパイルして sum を作ったら #!/usr/bin/sh #↑は環境に合せて ./sum "$@"

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

わからないのはどの部分でしょう? ・使うシェルは? →スクリプトにするのだから、 Bシェル系だと思うけど、なにも書いてないのでCシェルかもしれないし、Bシェルでも素のshなのか、bash等の拡張版なのかわからない。 シェルが違えば、当然スクリプトで使える機能も変ってくるので、確認すること。 ・コマンドライン引数を受けとる方法? →$1,$2,....といった「位置パラメータ」に入ります ・可変個の引数を扱う方法? →アイディアは2つ $*や$@と for 文を使うもの shift と while を使うもの それぞれの動作や使い方は、 man bash (bashのスクリプトを作る場合。違うシェルならそれに合せて)、 info bash(同: ただし、infoに対応していない場合もある)等として確認してください ・足し算のやりかた? →伝統的には expr コマンド。 詳しくは man expr シェルによっては、算術計算できるものもある。詳しくは、各マニュアルで、変数展開のあたりを隈無く読んでみる。

関連するQ&A