shell加減乘除運算
1.當前日期相加減
[oracle@test03 ~]$ date -d "2012-04-10 -1 day " +%Y-%m-%d -- 指定固定日期減1天
2012-04-09
[oracle@test03 ~]$ date -d "2023-02-10 -1 day " +%Y-%m-%d
2023-02-09
[oracle@test03 ~]$ date -d "2023-02-10 +1 day " +%Y-%m-%d
2023-02-11
[oracle@test03 ~]$ date -d "2023-02-10 -1 week " +%Y-%m-%d
2023-02-03
[oracle@test03 ~]$ date -d "2023-02-10 -1 month " +%Y-%m-%d
2023-01-10
[oracle@test03 ~]$ date -d "2023-02-10 -1 year " +%Y-%m-%d
2022-02-10
[oracle@test03 ~]$ user_current_time=2022-03-03
[oracle@test03 ~]$ date -d "$user_current_time -1 day " +%Y-%m-%d --使用變數形式日期相減
2022-03-02
[oracle@test03 ~]$
2.指定兩個日期加減運算(兩個日期相減)
[oracle@test03 ~]$ user_current_time=`date +%F`
[oracle@test03 ~]$ user_expire_time=2023-07-12
[oracle@test03 ~]$ expire_time=`expr '(' $(date +%s -d "$user_expire_time") - $(date +%s -d "$user_current_time") ')' / 86400`
[oracle@test03 ~]$ echo $expire_time
152
[oracle@test03 ~]$
3.整數相加減,相乘除(使用expr)
[oracle@test03 ~]$ pga_size=4
[oracle@test03 ~]$ pga_sum=8
[oracle@test03 ~]$ c=`expr $pga_size + $pga_sum / 2 ` --expr不支援浮點數,bc支援浮點數
[oracle@test03 ~]$ echo $c
8
[oracle@test03 ~]$
4.浮點數相乘(使用echo ""|bc)
[oracle@test03 ~]$ pga_size=3.4
[oracle@test03 ~]$ pga_sum=4.5
[oracle@test03 ~]$ c=$(echo "$pga_size * $pga_sum"|bc)
[oracle@test03 ~]$ echo $c
15.3
[oracle@test03 ~]$
5. 浮點數相除(使用echo ""|bc)
[oracle@test03 ~]$ pga_size=3.4
[oracle@test03 ~]$ pga_sum=4.5
[oracle@test03 ~]$ c=$(echo "scale=2;$pga_size * 100 / $pga_sum"| bc) -- scale=2保留兩位小數
[oracle@test03 ~]$ echo $c
75.55
[oracle@test03 ~]$
示例:
if [ `echo "scale=0;$pga_size *100 / $pga_sum"| bc` -le 5 ];then
echo -e "\033[31m--------------------------ORACLE PGA記憶體嚴重不正常[低於總記憶體5%]\033[0m"
elif [ `echo "scale=0;$pga_size * 100 / $pga_sum"| bc` -le 10 ];then
echo -e "\033[33m--------------------------ORACLE PGA記憶體警告不正常[低於總記憶體10%]\033[0m"
else
echo "--------------------------ORACLE PGA記憶體正常[高於總記憶體10%]"
fi
浮點數比較:
if [ $(echo "5.2 > 2"|bc) = 1 ];then
echo "test"
fi
if [ `echo "$a - $b > 1"|bc` = 1 ];then
echo "test"
fi
6.兩數相乘用\轉義
[oracle@test03 ~]$ pga_size=4
[oracle@test03 ~]$ pga_sum=8
[oracle@test03 ~]$ c=`expr $pga_size \* $pga_sum / 2 `
[oracle@test03 ~]$ echo $c
16
[oracle@test03 ~]$
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25854343/viewspace-2934715/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 位運算實現加減乘除
- Verilog實現加減乘除運算
- MongoDB 中的【加減乘除】運算MongoDB
- NumPy 簡單算術:加減乘除及其他運算
- 二進位制運算加減乘除+快速冪
- 浮點數的加減乘除運算細節
- 三個數字的加減乘除模運算
- 超大整數的加減乘除計算方法
- 7-2 算術入門之加減乘除
- JavaScript浮點數加減乘除精確計算JavaScript
- FPGA中加減乘除運算的注意問題FPGA
- 79 不用加減乘除做加法
- 簡單的加減乘除(遞迴)遞迴
- JS加減乘除位移方法封裝JS封裝
- JavaScript加減乘數運算JavaScript
- BigDecimal加減乘除運算,保留2位小數點,初始化,與0的比較Decimal
- JS 加減乘除 尤其是減法精度問題JS
- 高精度四件套(加減乘除)
- 每日一練(34):不用加減乘除做加法
- Python運算子可不只有加減乘除Python
- 【劍指offer】65. 不用加減乘除做加法
- java的多項式的加減乘除和賦值Java賦值
- [每日一題] 第六題:不用加減乘除做加法每日一題
- LeetCode 劍指 Offer 65. 不用加減乘除做加法LeetCode
- Shell階段02 shell變數運算(整數運算/小數運算), shell變數案例變數
- 【oracle】日期加減計算Oracle
- C++筆記:輸入輸出、變數、變數加減乘除C++筆記變數
- 大數模擬 加減乘除 判斷大數是否為素數 板子
- SHELL之數值運算
- 利用Python自動生成小學生加減乘除口算考試題卷,不再為手寫算術題煩惱!Python
- [20181229]bash shell的算術運算 .txt
- shell執行小數運算
- ABAP面試問題 - 不使用加減乘除等操作比較兩個整數大小面試
- 請寫一個整數計算器,支援加減乘三種運算和括號。Python版本Python
- excel日期加減計算方法 excel計算日期時間差Excel
- 計算機組成原理浮點數加減計算機
- mysql查詢中時間、日期加減計算MySql
- 高精度加減乘