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