• ベストアンサー

shのシェルスクリプトの演算方法について・・・

bashのシェルスクリプトについてもお聞きしたのですが、 その方法では演算ができない!ということになってしまいました・・・ こういうちょこっとしたところが違うのが嫌です・・・↓ bashの場合は ---------- bash$ a=1 bash$ a=$(( $a + 1 )) bash$ echo $a 2 ---------- となったのですが、shではエラーが出てしまいました・・・ また、shのスクリプトもbashのスクリプトもシェルスクリプトと呼ぶのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

sh には、シェルの機能として演算は含まれていません。 計算自体は、コマンド expr を使って、 sh$ a=1 sh$ expr $a + 1 2 のように行います。よって、質問文のコマンドのsh版は sh$ a=1 sh$ a=`expr $a + 1` sh$ echo $a 2 のようになります。 sh,cshなどでは、``(バッククォート)で囲んだ部分は、実行されその結果と置き換わるので、上記の2行目は a=2 と実行しているのと同じことになります。 sh,expr でどのようなコマンドが使えるのかは、 sh$ man sh sh$ man expr として調べてください。 ------------------------------------------------------------ >また、shのスクリプトもbashのスクリプトもシェルスクリプトと呼ぶのでしょうか? 呼びます。

ryo-3
質問者

お礼

ありがとうございました! 遅くなりすいません。 非常に勉強になりました。 シェルって方言みたいでおもしろいですね。 これからも勉強していきたいともいます。

関連するQ&A