最新第十周-day43-Shell编程基础_shell grep 数值大小,2024年最新程序员面试题精选100题

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

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

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

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

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

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

[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://upload-images.jianshu.io/upload_images/16952149-02c95db033dc5d95.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)  
 ![](https://upload-images.jianshu.io/upload_images/16952149-17e6ab5d7b082e4d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


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


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


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


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



> 
> #### 避免过滤的时候 过滤掉grep命令自己
> 
> 
> ![](https://upload-images.jianshu.io/upload_images/16952149-4226bfdca482d490.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
> 
> 
> 


### 四、循环语句


#### for语句


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


### 五、扩展:


##### read命令


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



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



-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)。


![截取自简书好友—依旧](https://img-blog.csdnimg.cn/img_convert/c3d7f2c07ecdffb9ecc94c5395f4460d.webp?x-oss-process=image/format,png)


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



> 
> ### 总结:
> 
> 
> 1.变量 特殊变量 $# $\* $1 $0  
>  2.判断与循环  
>  服务脚本  
>  任务:
> 
> 
> 


批量添加用户设置随机密码 for循环实现  
 批量修改文件名字 for/rename  
 touch /oldboy/oldboy.txt 批量.txt修改为.jpg


未完待续…






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

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

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

成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

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

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

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值