アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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のスクリプトもシェルスクリプトと呼ぶのでしょうか?

呼びます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/08/01 12:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!