bc命令是一種支援任意精度的互動執行的計算器語言。
(1)使用方式
• 互動式
[root@cp ~]
# bc
bc 1.06.95
this is free software with absolutely no warranty.
for details type `warranty'.
1+12
• bc + filename
[root@cp ~]
# cat 1.txt
1+12*3
[root@cp ~]
# bc "1.txt"
bc 1.06.95
this is free software with absolutely no warranty.
for details type `warranty'.
26
• echo + 管道 + bc
[root@cp ~]
# echo "1+1" | bc
2
• bc + 重定向
[root@cp ~]
# bc < "1.txt"26
[root@cp ~]
# bc <<< "1+1"
2
(2)基本運算[root@cp ~]
# bc <<< "5+4"
9[root@cp ~]
# bc <<< "-1+-1"
-2[root@cp ~]
# bc <<< "1.5+1.7"
3.2
[root@cp ~]
# bc <<< "5-4"
1
[root@cp ~]
# bc <<< "5*4"
20
/ 除法
[root@cp ~]
# bc <<< "2/4" //為什麼 「2/4」 等於0呢,因為bc的內建函式scale預設指定了顯示小數點後0位數
0[root@cp ~]
# bc <<< "scale=2;2/4" //我們自定義一下顯示小數點後2位,結果小於1的浮點數,0會自動省略。
.50[root@cp ~]
# bc <<< "scale=2;5/4"
1.25
^ 指數
[root@cp ~]
# bc <<< "2^4"
16
% 取餘
[root@cp ~]
# bc <<< "4%2"
0[root@cp ~]
# bc <<< "4%3"
1
(3)特殊變數和內建函式
• 特殊變數
變數名作用
scale
定義小數點後的位數
ibase
指定輸入的進製數
obase
指定輸出的進製數
last 或者 .
儲存著最後乙個列印數字的值
例項演示:
[root@cp ~]
# bc <<< "scale=1;2/1"
2.0[root@cp ~]
# bc <<< "scale=2;2/1"
2.00
[root@cp ~]
# bc <<< "scale=2;1/2"
.50[root@cp ~]
# bc <<< "ibse=10;obase=2;10" //十進位制轉二進位制
1010
[root@cp ~]
# bc <<< "obase=2;10" //預設輸入進製為十進位制轉
1010
[root@cp ~]
# bc <<< "obase=2;3"
11[root@cp ~]
# bc <<< "scale=1;2/1;last"
2.02.0
[root@cp ~]
# bc <<< "scale=1;2/1;."
2.02.0
[root@cp ~]
# cat 1.txt
1+12*3
last //使用.也是一樣效果
[root@cp ~]
# bc < 1.txt26
6
• 內建函式
名稱作用
length()
獲取有效數字位數
scale()
獲取小數點後數字位數
sqrt()
平方根計算
read()
從標準輸入中讀取數字
例項演示:
[root@cp ~]
# bc <<< "length(100)"
3[root@cp ~]
# bc <<< "length(1.15)"
3[root@cp ~]
# bc <<< "scale(1.15)"
2[root@cp ~]
# bc <<< "sqrt(100)"
10[root@cp ~]
# bc <<< "sqrt(7)"
2[root@cp ~]
# bc <<< "scale=5;sqrt(7)"
2.64575
linux shell命令之運算bc
bc q q選項使得bc運算器不輸出版本資訊 13 3 4 未設定scale之前,除法運算結果自動取整 1scale 4 將scale改為4 13 3 4 1.8571 除法結果小數點後保留4位小數 quit 在指令碼中使用bc運算器的例子 variable echo options express...
MYSQL命令小記
本人不才,記錄一下sql命令。使用mysql。1 顯示資料庫 show databases 要加s 2 建立資料庫 create database one 資料庫名字為one 下面都是用one來代表 可通過show databases檢視 3 刪除資料庫 drop database one 4 進入...
linux命令小記
剛換了個工作不久,由於公司 是部署在遠端linux伺服器上的,幸 dan 運 teng 的是在以前的公司只用過window server伺服器啊,對於linux系統命令一點都不曉得啊!如今想想以前過的真輕鬆加愉快啊 不過每次看別人寫命令簡直就是掉渣天的行為啊.作為乙個程式猿。好吧,廢話太多了。更悲劇...