學習Linux Linux的計算

2021-07-16 08:38:14 字數 1540 閱讀 8234

①在linux裡面使用expr命令進行運算,比如:expr 1 + 2結果就是3,輸入命令的時候注意不同字元之間的空格。

還有乘號使用的是*,這裡需要轉義,不能直接expr 1 * 2expr 1 \* 2

這裡定義了2個變數。注意定義變數的時候是不要加空格的,而計算的時候是要加空格的。

結果:result = 30

②不僅使用expr可以進行運算操作,還可以使用括號進行運算

結果仍然是30,但是這裡面的乘號*不用轉義

③linux中的浮點數的計算

前面的東西只能運算整數,要想運算浮點數還得使用bc命令。當然,bc也可以算整數的。

命令列輸入 bc 開始進入計算器模式,退出這種模式需要輸入quit。輸入bc進入時會有許多的歡迎語,如果要去掉這些可以使用命令bc -q。

可以看到,運算的結果為0。這是因為計算器預設的是保留0位小數,如果想多保留幾位小數可以這樣

從結果還可以看出它不會四捨五入

④在shell指令碼中使用bc

前面是在命令列使用bc,沒有什麼太大的意思,我們最終還是為了學寫指令碼。

這是一種格式,由於後面是命令所以用反引號,echo後面有空格的,跟平時輸入的命令一樣。

然後就是「」雙引號,裡面有2條語句,scale=什麼,指定保留小數的位數,後面一條是表示式,用分號隔開。

接著乙個豎線|bc。這樣就把計算的結果放到變數中了。

表示式中可以帶變數的,不一定是具體的數字。

⑤bc與輸入重定向的結合。

這裡就放個截圖吧,理解起來也很簡單

這樣做的好處就是看起來更簡潔,當然,這個例子可能體現不出來。

但是 如果這樣子

var6=`echo "scale=3;($var1*var2)+($var3*$var4)"|bc`

計算的結果是var3+var4的結果

linux Linux學習總結 管道

在l i n u x系統中,管道用兩個指向同乙個臨時性v f s索引節點的檔案資料結構來實現。這 個臨時性的v f s索引節點指向記憶體中的乙個物理頁面。乙個例程用於寫管道,另乙個用於從管道中讀資料。從一 般讀寫普通檔案的系統呼叫的角度來看,這種實現方法隱藏了下層的差異。當寫程序執行寫 管道操作時,...

天天Linux(Linux 學習之一)

今天第一天來學習linux,剛開始庭鬱悶,我現在用的是2008,所以我就先是給linux分出來點空間,趙鵬同學介紹的centos,說是很穩定,所以我就拿來用了。系統裝上之後,網路連線。一切ok之後我該做什麼呢?先裝gcc 開啟終端 輸入 yum install gcc 一路狂飆下去 gcc裝好了我用...

linux Linux學習總結 套接字

bsd套接字介面 l i n u x支援多種套接字型別。套接字型別,是指建立套接字的應用程式所希望的通訊服務 型別。同一協議族可能提供多種服務型別,比如t c p i p協議族提供的虛電路與資料報就是兩 種不同的通訊服務型別,linux bsd支援如下幾種套接字型別 stream 提供可靠的面向連線...