web-dev-qa-db-ja.com

exprを使用した算術演算

私は次のように追加操作を行っています

#!/bin/sh
a=10
b=20
c='expr $a + $b'
echo "$c"
echo "$a"
echo "$b"

しかし、それは次のように出力を示しています

expr $a + $b
10
20

exprの何が問題になっていますか

2
user183924

あなたの例は間違ったタイプの引用符を使用しています:

a=10 b=20 c='expr $a + $b' echo "$c" echo "$a" echo "$b"

これは(開始として)あるべきです:

a=10
b=20
c=`expr $a + $b`
echo "$c"
echo "$a"
echo "$b"

しかし、より読みやすい:

a=10
b=20
c=$(expr $a + $b)
echo "$c"
echo "$a"
echo "$b"

これらすべてのステートメントを1行にまとめる場合は、セミコロンで区切ります。

a=10; b=20; c=$(expr $a + $b); echo "$c"; echo "$a"; echo "$b"
7
Thomas Dickey