androidのシェルスクリプト
アンドロイドのシェルですが、やっぱり単に書き方が間違っていただけでした。
declare -i var=1
expr $var+1
(またはecho `expr $var+1`)
declareはbash専用だからandroidのshでは使えない。
exprコマンドのあとの数式は変数と演算子との間にはスペースを「入れなくては」いけない。
変数に値を入力するときには変数と=(イコール)の間にはスペースを「入れては」いけない。
そういうことだったんですね。
だから
expr $var + 1
が正しい。
シェルスクリプトは難しいですね。
プログラミング言語だとスペースを入れても入れなくてもある程度融通が効きますが、シェルスクリプトはオプションや引数として処理する方法がコマンドによって違うのでスペースが必要だったり、スペースを入れてはいけなかったりするということなのでしょうかね。
if文などの判定の返り値も真なら0、それ以外なら偽になるようですが、これはプログラミング言語一般とは逆です。
関数のなかで使われることがあるreturnコマンドはエラーがあったか正常終了だったかを示す終了コードをセットするときに使うもののようですが、プログラムでは関数のなかの計算結果などの戻り値を返すときに記述しますよね。
なんだかややこしくて混乱しています。