使用变量编写脚本无效?

时间:2014-03-25 14:13:34

标签: bash shell variables unix scripting

我正在尝试学习一些unix,并且我正在尝试编写一些基本变量的脚本,任何想法为什么当我数学时它不会起作用?

> vi math 
A=5
B=10
let C=A+B
let D=B-A
let E=A*B
let F=A/B
echo $A $B $C $D $E $F

这是显示的内容。

math: 4: math: let: not found
math: 5: math: let: not found
math: 6: math: let: not found
math: 7: math: let: not found
5 10

1 个答案:

答案 0 :(得分:5)

/bin/sh是Bash(Mac OS X 10.9.2 Mavericks)的系统上,我得到:

$ cat math
A=5
B=10
let C=A+B
let D=B-A
let E=A*B
let F=A/B
echo $A $B $C $D $E $F
$ sh math
5 10 15 5 50 0
$ bash math
5 10 15 5 50 0
$ ksh math
5 10 15 5 50 0
$ dash math
math: 3: math: let: not found
math: 4: math: let: not found
math: 5: math: let: not found
math: 6: math: let: not found
5 10
$ hsh math
math: let: not found
math: let: not found
math: let: not found
math: let: not found
5 10
$

hsh是另一个名称安装的Heirloom Bourne Shell。)

这意味着sh mathbash math都按预期进行算术运算。您是否可能在具有不同外壳的计算机上/bin/sh(可能伪装成dash并且您在Ubuntu上)?