4
A
回答
3
如果您使用ksh,您是否尝试阅读“man ksh”?例如,“man bash”具有足够的关于用bash进行运算的信息。
命令typeset -i可用于指定变量必须被视为整数,例如typeset -i MYVAR指定变量MYVAR是整数而不是字符串。继排版指令,尝试分配非整数值变量将失败:
$ typeset -i MYVAR
$ MYVAR=56
$ echo $MYVAR
56
$ MYVAR=fred
ksh: fred: bad number
$
开展对变量或shell脚本中的算术运算,使用let命令。让我们将它的参数评估为简单的算术表达式。例如:
$ let ans=$MYVAR+45
echo $ans
101
$
以上也可写为表达式如下:
$ echo $(($MYVAR+45))
101
$
任何内$((和))包围由Korn外壳解释为一个算术表达式
4
现代外壳(在我看来POSIX兼容=现代)支持算术运算: + -/*在带符号的长整数变量+/- 2147483647上。
使用awk来实现双精度,15个siginificant数字它也有sqrt。
使用bc -l可获得最多20位有效数字的扩展精度。
壳的语法(zed_0xff)你已经看到:
a=$((13 * 2))
a=$(($2/2))
b=$(($a - 1))
a=(($a + $b))
awk进行双精度 - 浮点 - 算术运算本身。 它也有开方,COS,罪恶....看到:
http://people.cs.uu.nl/piet/docs/nawk/nawk_toc.html
BC有一些定义的功能和扩展presision它们可与-l选项:
BC -l
例如:
echo 'sqrt(.977)' | bc -l
0
精度和外壳的范围内建$((<expr>))
取决于平台。在32位平台上,它仅限于32位整数(与expr
不同,它似乎支持更大的整数,看起来与平台无关)。
(N.B - 当心,虽然^
在大多数炮弹的有效运营,这并不意味着“给力”,而是XOR)
而且 - 一些炮弹在这方面更加积极。例如,Zsh允许浮点运算,如$((10/3.0))
相关问题
- 1. Bash/Shell脚本 - 算术运算符失败
- 2. Shell脚本和使用gawk以及算术运算
- 3. Shell脚本算术运算符进行比较
- 4. shell脚本的算术问题
- 5. 算术运算
- 6. 算术运算
- 7. 算术运算
- 8. 算术运算
- 9. 算术运算
- 10. shell脚本中的“一元运算符”
- 11. CSH算术运算
- 12. BCD算术运算
- 13. 算术运算符
- 14. 某些脚本语言的算术运算
- 15. 语法错误:bash脚本中的算术运算符无效
- 16. bash脚本 - 无效的算术运算符
- 17. Python 3:基本算术运算
- 18. int上的基本算术运算 - Java
- 19. shell脚本日期算法
- 20. 如何从脚本运行IPython魔术(或计算Python脚本)
- 21. 算术溢出与算术运
- 22. IndexedDB中的算术运算
- 23. C#中的算术运算
- 24. 位运算符算术
- 25. 动态算术运算符
- 26. 计数算术运算
- 27. 算术运算的JavaScript
- 28. 无效的算术运算
- 29. 推广算术运算符
- 30. 二进制算术运算
我想“使用'bc'而不是*相当*你正在寻找的答案... – 2010-06-10 05:23:47
@ignacio ...你能否愿意一个如何使用bc的例子? – Vijay 2010-06-10 05:25:39
'PI = $(echo“4 * a(1)”| bc -l)' – 2010-06-10 13:57:19