變數的數值計算常見的有如下幾個命令:
(()) let(bash內部命令) expr bc $[ ]
1) (())最常用,效率最高
一般用於整數運算 ,shell的算術運算符號都置於"$(("和"))"之中。
常用的邏輯符號:++,--,*,/,%,<,<=,>=,==,!=,&&,||,**。
變數表示式定義:((a=1+2**3-4%3))或者 b=$((1-2))
a++是先輸出a本身的值,++a是運算後再輸出運算結果的值
記憶方法:變數在前,先輸出變數值。變數在後,先運算後輸出變數的值。
#!/bin/bash
a=$1 b=$2
echo "a-b=$(($a - $b))"
echo "a+b=$(($a + $b))"
[root@desk ~]# sh 1.sh 12 12
a-b=0
a+b=24
簡單的整數加減乘除計算器:
#!/bin/bash
echo $(($1$2$3))
或者:#!/bin/bash
echo $(($1))
let命令:
[root@desk ~]# i=2
[root@desk ~]# i=i+8
[root@desk ~]# echo $i
i+8輸出的結果相當於把i+8賦值給i
[root@desk ~]# i=2
[root@desk ~]# let i=i+8
[root@desk ~]# echo $i
10小結: let i=i+8 等同於((i=i+8)),並且效果不如雙小括號好!
unset i ##取消掉對i的定義!
expr命令
expr命令用於整數,並且之間要有空格
等等一些列的功能![root@desk ~]# expr $[2+2]
4[root@desk ~]# expr 2 / 2
1[root@desk ~]# expr 2/2
2/2[root@desk ~]# expr length "sadawds"
7
比較各種變數長度方法的對比:
wc -l ##
-m ##
-l ##位元組長度
-c ##位元組數
-w ##單詞數
expr length "字串"
$
seq命令用於產生某個數到另外乙個數之間的所有整數。
格式:1.seq -s "字串" 1 10 ##1到10進行排列,中間的分隔符為「字串」
2.seq -f ##指定格式[root@desk ~]# seq -s " " 3 9
3 4 5 6 7 8 9
[root@server1 test]# seq -s " " 3 -1 0
3 2 1 0 ## 從3開始,-1為增量,列印到0
[root@desk ~]#seq -f"%3g" 9 11所以,%後面跟位置的位數。9 10
11[root@desk ~]# seq -f "%30g" 9 11910
11
[root@desk ~]# seq -f "str%010g" 9 11這樣子,前面空格的部分由0填充str0000000009
str0000000010
str0000000011
3.seq -w ##-w選項:指定輸出數字同寬
seq -w 98 101不能和-f同用,輸出是同寬的098099
100101
Shell 數值計算
一 整數計算 shell中 let expr能進行整數運算。這個方法很方便。很容易使用,推薦使用 的用法 表示式 示例 root localhost shell protest echo 1 2 3 root localhost shell protest echo 1 2 2 root local...
Shell 數值計算
開啟文字編輯器 可以使用 vi vim 命令來建立檔案 新建乙個檔案 test.sh,擴充套件名為 sh sh代表shell 副檔名並不影響指令碼執行,只是起到乙個見名知意的作用。指令碼的第一行一般是 bin bash,告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 shell 程式。預設用 v...
shell程式設計之chown
語法 chown option owner group file chown option reference rfile file 描述 chown 改變指定檔案的使用者和 或組的擁有者。例如 liujl liujl rev 1 0 mycode test ls l 總用量 0 rw rw r 1...