mirror of
https://github.com/Estom/notes.git
synced 2026-04-09 05:48:31 +08:00
git&shell
This commit is contained in:
@@ -226,6 +226,19 @@ val=`expr 2 + 2`
|
||||
echo "两数之和为 : $val"
|
||||
```
|
||||
|
||||
### 其他算术运算方法
|
||||
(1) 使用let命令进行算术运算,只支持整数运算。
|
||||
|
||||
(2) 使用expr命令进行算术运算,只支持整数运算。
|
||||
|
||||
(3) 使用bc命令进行算术运算,支持小数运算。
|
||||
|
||||
(4) 使用运算语法:$[算术表达式],只支持整数运算。
|
||||
|
||||
(5) 使用运算语法:$((算术表达式)),只支持整数运算。
|
||||
|
||||
(6) 在初始化变量时,将变量定义为”整数”类型,则可直接进行整数运算。
|
||||
|
||||
## 3 控制流运算符
|
||||
|
||||
## 4 关键字
|
||||
|
||||
@@ -3,19 +3,19 @@
|
||||
## 1 if条件判断
|
||||
### 单分支if条件
|
||||
语法:
|
||||
```
|
||||
```sh
|
||||
if [ 条件判断式 ]
|
||||
then
|
||||
程序
|
||||
fi
|
||||
```
|
||||
案例:统计根分区使用率
|
||||
```
|
||||
```sh
|
||||
[root@localhost ~]$ vi sh/if1.sh
|
||||
#!/bin/bash
|
||||
|
||||
#统计根分区使用率
|
||||
rate=$(df -h | grep "/dev/sda2" | awk '{print $5}’| cut -d "%"-f1)
|
||||
rate=$(df -h | grep "/dev/sda2" | awk '{print $5}'| cut -d "%"-f1)
|
||||
#把根分区使用率作为变量值赋予变量rate
|
||||
if [ $rate -ge 80 ]
|
||||
#判断rate的值如果大于等于80,则执行then程序
|
||||
|
||||
@@ -231,7 +231,22 @@ AAA 87.66
|
||||
BBB 85.66
|
||||
CCC 91.66
|
||||
```
|
||||
### 内置函数
|
||||
https://blog.51cto.com/u_15794314/5682471
|
||||
|
||||
gsub(r,s) 在整个$0中用s替代r;gsub(r,s,t) 在整个t中用s替代r
|
||||
|
||||
gsub函数有点类似于sed查找和替换。它允许替换一个字符串或字符为另一个字符串或字符,并以正则表达式的形式执行。第一个函数作用于记录$0,第二个gsub函数允许指定目标,然而,如果未指定目标,缺省为$0。
|
||||
index(s,t):函数返回目标字符串s中查询字符串t的首位置。
|
||||
length(s) :返回s长度
|
||||
match(s,r): 测试s是否包含匹配r的字符串
|
||||
split(s,a,fs) 在fs上将s分成序列a
|
||||
sprint (fmt,exp) :函数类似于printf函数(以后涉及),返回基本输出格式fmt的结果字符串exp。
|
||||
sub(r,s) 用$0中最左边最长的子串代替s
|
||||
substr(s,p) 返回字符串s中从p开始的后缀部分
|
||||
substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分。
|
||||
match函数测试字符串s是否包含一个正则表达式r定义的匹配。
|
||||
split使用域分隔符fs将字符串s划分为指定序列a。
|
||||
|
||||
## 5 脚本
|
||||
对于小的单行程序来说,将脚本作为命令行自变量传递给awk是非常简单的,而对于多行程序就比较难处理。当程序是多行的时候,使用外部脚本是很适合的。首先在外部文件中写好脚本,然后可以使用awk的-f选项,使其读入脚本并且执行。
|
||||
|
||||
Reference in New Issue
Block a user