linux BC命令列計算器
1. 基本用法:
$ bc <<< 5*4
20
$ bc <<< 5+4
9
$ bc <<< 5-4
1
或者$ echo "5*4" | bc
20
$ echo "5+4" | bc
9
$ echo "5-4" | bc
1
也可以把算式寫到檔案裡面,然後一次計算。
$ cat calcFile
5+5
6+7
$ bc < calcFile
10
13
也可以使用HERE 命令:
$ bc << HERE
> 1+4
> 4-1
> 2*4
> HERE
5
3
8
可以使用內建的變數 last 引用上一次的結果:
$ echo "5-4;last+6" | bc
1
7
last 也可以用 點號代替:
$ echo "5-4;.+6" | bc
1
7
2. 浮點數運算:
可以使用scale指定小數點之後的位數(預設為0,即整數)
$ echo "sqrt(10)" | bc
3
$ echo "scale=1;sqrt(10)" | bc
3.1
$ echo "scale=10;sqrt(10)" | bc
3.1622776601
有時候得不到指定的位數:
$ echo "scale=10; 1.25*9" | bc
11.25
此時,可以修改為:
$ echo "scale=10; 1.25*9/1" | bc 11.2500000000
3. 數制轉換:
可以使用變數 ibase表示轉換前數字的數制;obase表示轉換後數字的數制
$ echo 'obase=16;128' | bc
80
$ echo 'ibase=16;obase=A;80' | bc
128
$ echo 'obase=2;128' | bc
10000000
$ echo 'ibase=2;obase=A;10000000' | bc
128
$ echo "obase=10;ibase=16;80" | bc 128
4. 指數運算:
$ echo "5^5" | bc
3125
$ echo "(5^5)^5" | bc
298023223876953125
記得第一個指數運算的結果要新增括號。
5. 基於函式庫的運算
bc支援以下函式:
s(x): 正弦函式(x為弧度)
c(x): 餘弦函式(x為弧度)
a(x): 反正切函式(結果為弧度)
l(x): 自然對數函式
e(x): 以e為底的指數函式
j(n,x): 貝賽爾函式
此時,bc要加上 -l 引數 (此時, scale 為20)
計算 log1.5(2) (以 1.5為底,2的對數):
$ echo "l(2)/l(1.5)" | bc -l
1.70951129135145477699
也可以用 awk命令:
$ awk 'BEGIN {printf "%1l.9f\n", log(2)/log(1.5)}'
1.709511291
6. 指令碼函式程式設計:
$ cat calc_prog
print "Enter a number A\n"; a = read()
print "Enter another number B\n"; b = read()
if (b == a) {
print "B = A\n";
}
if (a < b) {
print "B > A\n";
}
if (a > b) {
print "B < A\n";
}
$ bc -l calc_prog
7. 指令碼模擬計算器:
$ cat calc.sh
#!/bin/bash
bc << END
scale=2
[email protected]
END
$ ./test.sh 1+2
3
參考:
相關推薦
linux BC命令列計算器
1. 基本用法: $ bc <<< 5*4 20 $ bc <<< 5+4 9 $ bc <<< 5-4 1或者$ echo "5*4" | bc 20 $ echo "5+4" | bc 9 $ echo "5-4"
一步步打造自己的linux命令列計算器
相信很多人,在工作中會需要使用到計算器。一般的做法是,開啟並使用系統自帶的計算器。 這種做法可能對我來說,有如下幾個問題。 太慢。每次需要開啟計算器,然後改成程式設計模式,手工選擇進位制,再使用輸入表示式進行計算。 需要切換視窗。程式設計時經常是在終端中,使用GUI計算器則意味著要離開終端,計算完畢再切換回
轉自: linux svn命令列無法拉取中文名稱的檔案
轉自: https://blog.csdn.net/shaohui/article/details/3996274#commentBox svn: Can't convert string from 'UTF-8' to&
Linux——Linux系統命令列獲取公網IP的方法
今天介紹一些檢視linux系統公網IP的方法 1.通過訪問ipconfig.co來檢視。 命令列如下: #更多用法訪問ifconfig.co wget -qO - ifconfig.co 2.通過curl來獲取IP 如果沒有curl,要先下載安裝curl sudo yum i
筆記搬到部落格 - linux純命令列的一般代理設定方法
經過網路搜尋、整理、實踐筆記 linux純命令列的一般代理設定方法 在profile檔案中設定相關環境變數 # vi /etc/profile http_proxy=192.168.10.91:3128 # 分別指定http、https、ftp協議使用的代理伺服器地
linux使用命令列配置顯示器的輸出解析度
說明:有時候圖形管理中最高的解析度被設定得很小,看著螢幕難受 1.顯示自己機器支援的解析度。以我自己的機器來說,最大支援8k,但設定的時候往往不能這麼大,因為還受到顯示器的解析度限制。綠色的VGA-0就是你的系統顯示的名字,留待後用 [[email protected] g
linux 使用命令列代理
在爬取國外被[]牆網站資料時,就必須使用命令列代理了,要不然就得在國外買一臺伺服器跑了。。 1、首先你需要有一把梯子,梯子教程不講,[滑稽] pip insatll shadowsocks 2、然後配置shadowsocks(一個json格式檔案): { "serv
Linux-bc命令(21)
bc 命令是任意精度計算器語言,通常在linux下當計算器用。 它類似基本的計算器, 使用這個計算器可以做基本的數學運算。 bc支援運算有以下幾種: + - * / % :加,減,乘,除,取餘 a^b : 取a的b方 &&
關於Arch Linux efibootmgr 命令列引數問題
相關連結: https://wiki.archlinux.org/index.php/EFISTUB 今天安裝Arch Linux 在 efibootmgr建立啟動項時,總是提示 UUID=xxxx not found 找不到裝置的錯誤,無法啟動系統 官方文件對這個命令的說
【小問題集03】-linux網路命令列-持續更新
1 網口ip配置及啟用【命令列】 sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up 2 網口配置【配置檔案】 Linux裡面有兩套管理網路連線的方案: (1)/etc/network/interfac
Linux系統命令列整理
1、pwd 檢視當前所在目錄 2、cd / 跳往根目錄 3、ls 檢視當前目錄所有子目錄或檔案 4、ls -l 列出當前目錄詳細資訊 5、ls -lh h=human 人性化列出當前目錄詳細資訊 6、cd .. 回到上一級 7
Linux Eclipse 命令列(終端)啟動正常使用,sh 指令碼執行後不能正常使用問題
原因還是執行環境問題,類似windows中的環境變數,如果windows中環境變數沒設定也不能直接敲java執行 第一鍾: 在執行的sh指令碼中新增 source /etc/profile 命令,讓指令碼在每次執行時,重新設定一遍環境變數 第二種: 在eclipse執行目錄下找
Linux shell命令列
快速切換成GNOME終端:Ctrl + Alt +T 在新的Konsole Terminal視窗中啟動一個新的shell會話(New Window):Ctrl + Shift + M 退出Konsole Terminal(Quit):Ctrl + Shift + Q 顯示出s
快捷鍵--快速操作Linux終端命令列
其他控制鍵: Ctrl+s:使終端發呆,靜止,可以使快速輸出的終端螢幕停下來。 Ctrl+q:退出Ctrl+s引起的發呆。 Ctrl+z:使正在執行在終端的任務,運行於後臺。 (可用fg恢復)
Linux在命令列模式下執行命令
Linux系統登入環境 在Linux預設的登入的模式中,主要分為兩種,一種是純文字介面的登入環境,另一種則是圖形介面的登入環境。 ●Linux預設提供6個終端介面來讓使用者登入,切換的方式為:[Ctrl]+[Alt]+[F1]~[F6]。系統會按[F1]~[
linux下命令列進入mysql出錯
###1. mysql command not found 原因:這是由於系統預設會查詢/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映一個連結到/usr/bin目錄下,相當於建立一個連結檔案。 首先得知道mysql
Linux常用命令列學習(不斷補充...)
建立資料夾 mkdir <資料夾名稱> 列出當前路徑下的資料夾和檔案 ls /*(list)簡單列出當前路徑下的資料夾和檔案*/ ls -l /*列出當前路徑下資料夾和檔案(包括作者、許可權、建立時間等詳細資訊)*/ 進入當前路徑下的資料夾 cd <資料夾名
Linux/Unix 命令列選項前的一橫(-)、兩橫(--)和沒橫
在使用 Linux/Unix 命令的時候,我們可能會對其五花八門的選項表示形式感到困惑,比如: ls -l ls --size ps aux 我們可以發現,這三個命令的選項都有不同的風格,有的是一個
Linux中命令列中EOF的用法
EOF是END Of File的縮寫,表示自定義終止符。 既然自定義,那麼EOF就不是固定的,可以隨意設定別名。 在linux按ctrl-d就代表EOF。 EOF一般會配合cat能夠多行文字輸出. 其用
Linux終端命令列的常用快捷鍵
history 顯示命令歷史列表 ↑(Ctrl+p) 顯示上一條命令 ↓(Ctrl+n) 顯示下一條命令 !num 執行命令歷史列表的第num條命令 !! 執行上一條命令 Ctrl+a 移動到當前行的開頭 Ctrl+e 移動到當前行的結尾 Esc+b 移動到當前