git&shell

This commit is contained in:
法然
2023-02-14 18:34:43 +08:00
parent a19f675f78
commit a4a57a92d2
37 changed files with 1683 additions and 482 deletions

View File

@@ -226,6 +226,19 @@ val=`expr 2 + 2`
echo "两数之和为 : $val"
```
### 其他算术运算方法
(1) 使用let命令进行算术运算只支持整数运算。
(2) 使用expr命令进行算术运算只支持整数运算。
(3) 使用bc命令进行算术运算支持小数运算。
(4) 使用运算语法:$[算术表达式],只支持整数运算。
(5) 使用运算语法:$((算术表达式)),只支持整数运算。
(6) 在初始化变量时,将变量定义为”整数”类型,则可直接进行整数运算。
## 3 控制流运算符
## 4 关键字

View File

@@ -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程序

View File

@@ -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替代rgsub(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选项使其读入脚本并且执行。