Linux最新第十周-day43-Shell编程基础_shell grep 数值大小(1),2024最新Linux运维开发面试大全

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

全局变量(环境变量)
系统创建
在整个系统中生效
大部分地方意思一样
一般是大写

特殊变量
$? 数字 $# $*


#### 2.局部变量(普通变量)


![image.png](https://upload-images.jianshu.io/upload_images/16952149-634200bda953fb7e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 3.引号系列


![image.png](https://upload-images.jianshu.io/upload_images/16952149-ccb04eb3cbd3ced7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


### 4.特殊变量


![](https://upload-images.jianshu.io/upload_images/16952149-e0d79be1e3cb3fe7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


### 5.局部变量和全局变量区别:



[root@m01 /server/scripts]# LIDAO=996
[root@m01 /server/scripts]#
[root@m01 /server/scripts]# echo $LIDAO
996
[root@m01 /server/scripts]# cat show.sh
#!/bin/bash
echo $LIDAO
[root@m01 ~]# sh show.sh \执行脚本为空

[root@m01 ~]#
[09:17 root@m01 ~]# export LIDAONB \添加全局变量
[09:22 root@m01 ~]# echo $LIDAONB
666
[09:22 root@m01 ~]# sh show.sh
666


### 6.局部变量和全局变量区别


<https://www.processon.com/view/link/5a0e4380e4b06c8e10923353>  
 ![](https://upload-images.jianshu.io/upload_images/16952149-e9ac48f3db41ee1e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


![image.png](https://upload-images.jianshu.io/upload_images/16952149-186b6fb8aa849faa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 7.awk的 -v 参数



[09:49 root@m01 ~]# x=10
[09:49 root@m01 ~]# y=99
[09:49 root@m01 ~]# echo $x
10
[09:49 root@m01 ~]# echo $y
99
[09:49 root@m01 ~]# awk ‘BEGIN{print x / x/ x/y}’
awk: cmd. line:1: fatal: division by zero attempted
[09:49 root@m01 ~]# awk -vn1=10 -vn2=99 ‘BEGIN{print n1/n2}’
0.10101
[09:51 root@m01 ~]# awk -vn1= x − v n 2 = x -vn2= xvn2=y ‘BEGIN{print n1/n2}’
0.10101
[09:51 root@m01 ~]# awk -vx=10 -vy=99 ‘BEGIN{print x/y}’
0.10101
[09:53 root@m01 ~]#


#### 8.利用shell编译小型计算器



[10:18 root@m01 ~]# vim show.sh
#!/bin/bash
. /etc/profile
x=$1
y=$2

echo $1+ 2 = ; a w k − v x = 2= ;awk -vx= 2=;awkvx=x -vy=$y ‘BEGIN{print x+y}’
echo $1- 2 = ; a w k − v x = 2= ;awk -vx= 2=;awkvx=x -vy=$y ‘BEGIN{print x-y}’
echo $1\* 2 = ; a w k − v x = 2= ;awk -vx= 2=;awkvx=x -vy=$y ‘BEGIN{print x*y}’
echo $1/ 2 = ; a w k − v x = 2= ;awk -vx= 2=;awkvx=x -vy=$y ‘BEGIN{print x/y}’

[10:19 root@m01 ~]# sh show.sh 5 6
5+6=
11
5-6=
-1
5*6=
30
5/6=
0.833333


#### 9.特殊变量中简单判断参数个数:


![](https://upload-images.jianshu.io/upload_images/16952149-d9ff6e10bb2d9edf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


![](https://upload-images.jianshu.io/upload_images/16952149-1e1406e2cc875141.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


### 10.判断目录存不存在,不存在就创建


![](https://upload-images.jianshu.io/upload_images/16952149-b7ba11ab70afeb3d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


![](https://upload-images.jianshu.io/upload_images/16952149-c1fd3735773015e0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


## 三、判断语句



> 
> if判断句语法:单分支: 如果。。。那么就  
>  if [ 表达式 ]  
>  then命令  
>  else  
>  exit 退出  
>  fi 果如
> 
> 
> 


#### 1.if语句格式:



if [ 表达式 ]
then命令
exit 退出
fi


![](https://img-blog.csdnimg.cn/img_convert/faa18e46fd80f011069d22a4dc6a6edd.webp?x-oss-process=image/format,png)  
 ![](https://img-blog.csdnimg.cn/img_convert/e668a2b4872ce0e319cc2410375dfda0.webp?x-oss-process=image/format,png)


### 2.对比两个数值大小


![](https://img-blog.csdnimg.cn/img_convert/dc93a30e27f5085ac1cd573c9aa6d5a3.webp?x-oss-process=image/format,png)  
 ![](https://img-blog.csdnimg.cn/img_convert/8a655b6ca9acaf9cc1db52df347a1425.webp?x-oss-process=image/format,png)


### 3.检查定时任务是否运行中


![](https://img-blog.csdnimg.cn/img_convert/bfdf180ff3b41f382c564eac4432ca11.webp?x-oss-process=image/format,png)![](https://img-blog.csdnimg.cn/img_convert/4e619f03cfce900c24a60552e7d656b7.webp?x-oss-process=image/format,png)



> 
> #### 避免过滤的时候 过滤掉grep命令自己
> 
> 
> ![](https://img-blog.csdnimg.cn/img_convert/2e6aa5f70850ea8141a2f870287d14e9.webp?x-oss-process=image/format,png)
> 
> 
> 


### 四、循环语句


#### for语句


![](https://img-blog.csdnimg.cn/img_convert/a4337c1b6a9a4fb333145822586eb606.webp?x-oss-process=image/format,png)


### 五、扩展:


##### read命令


<http://man.linuxde.net/read>



> 
> 从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY
> 
> 
> 




**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/4b328f120675f3b06993518b8820bf6d.png)
![img](https://img-blog.csdnimg.cn/img_convert/b42deede1839e4d5ea3333395717f819.png)
![img](https://img-blog.csdnimg.cn/img_convert/c5cc894c475760e310cb34d64b956372.png)
![img](https://img-blog.csdnimg.cn/img_convert/696343c655fa0eab59c8462837cf5ddb.png)
![img](https://img-blog.csdnimg.cn/img_convert/5c92cae5ac22155b5ec5fe94370a5139.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

-wlhppCnV-1714976334183)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值