兩邊沒有空格的=
是賦值操作符,例如:number=6
;
加上空格的=
是等量關係測試,例如:if [ 1 = 2 ];then ehco '1等於2'; else echo '1不等於2'; fi
n1=2;
n2=3;
let rs=n1+n2
echo
$rs## 自加操作
let n1++
echo n1;
## 自減操作
let n1--
let n1+=6
rs1=$[
$n1 + $n2
]rs1=$[
$n1 + 5 ]
rs1=
$(( $n1 +5))
rs2=
`expr 3 + 4`
rs3=
$(expr $n1 + 5)
小數點精度/進製轉換
echo
"4 * 0.25"
|bc
no=54
rs=`
echo
"$no * 1.5"|bc
`echo
$rs## 數值小數點精度
echo
"scale=2;22/7"|bc
## 進製轉換
no=4
echo
"obase=2;$no"|bc
no=100
echo
"obase=10;ibase=2;$no"|bc
# out base 十進位制 in base 二進位制 (預設為二進位制)
echo
"sqrt(100)"|bc
echo
"10^2"
|bc
# 以 date "+%格式" 的方式獲取
# 例 20190220
%a : wed
%a : wednesday
%b : feb
%b : february
%d : 20
%d : mm/dd/yy 02/20/19
%y : 19
%y : 2019
%h:%m:%s 10:31:18
%n : 納秒 708342700
%s : 以秒為單位 1550629910
last_day=
'20190201'
bil_month=
`date -d "$last_day last month" +%y%m`
bil_month1=
`date -d "$last_day -2 month" +%y%m`
bil_month2=
`date -d "$last_day -3 month" +%y%m`
shell 數字運算
在 linux 的 shell 指令碼裡,變數預設都是字串的。以下面的指令碼為例 bin bash no1 4 no2 5如果你直接使用 符號 result no1 no2 echo result得到的結果不是 9,而是 45 字串。這就是 shell 指令碼中變數預設為字串導致的結果。那麼如何使得...
shell 數字運算
在 linux 的 shell 指令碼裡,變數預設都是字串的。以下面的指令碼為例 bin bash no1 4 no2 5如果你直接使用 符號 result no1 no2 echo result得到的結果不是 9,而是 45 字串。這就是 shell 指令碼中變數預設為字串導致的結果。那麼如何使得...
Linux date日期格式及加減運算
顯示時間是個常用的命令,在寫shell指令碼中也經常會用到與日期相關檔名或時間顯示。無論是linux還是windows下都是date命令。linux下date命令用法 date命令引數 date命令輸出顯示格式 以下是做的一些實驗,便於理解01 02 03 04 05 06 07 08 09 10 ...