2023年11月27日发(作者:)

⼗分钟学会写shell脚本

1.linux下会写shell脚本是⾮常重要的,下⾯我参照例⼦给⼤家展⽰⼏个脚本,顺带这学习shell 的语法:

什么时候helloworld是必不可少的,第⼀个脚本肯定与helloworld是离不开的:

shell脚本简单易懂,只要有⼀点点c语⾔的基础,这些都是⼩case;

2.下⾯带着⼤家学学if语句:

先抛出⼀个问题:写⼀个脚本,判断当前所⽤的shell

#是注释的意思,相关部分已经在⾥⾯详细给⼤家注释解释了,注意if语句的格式

if[];then

elif[];then

else

fi

另外注意if语句还可以简单的⽤&&||或语句来代替;另外如果想要深⼊了解if可以找男⼈test(linux遇到问题要学会找男⼈解决,man)

3.为了让⼤家更加熟练的运⽤shell,那么练习下吧,问题:写⼀个脚本使其从⼀个⽂件⾥⾯读⼊有echo的语句,并把其写在本⽂件末尾;

这⾥由于重定向不能本⽂见输出到本⽂件输出,于是我就想了个办法,新建个⽂件,再重定向到这个⽂件,⼤神有别的简单⽅法可以下⾯留

⾔拍砖;

4.接下来,我们练习下while的⽤法,⽼规矩具体问题来分析;

问题:写⼀个脚本(不建议使⽤for变量--for是根据空格取值)

1.设定变量FILE的值为/etc/passwd

2.依次向/etc/passwd中的每个⽤户问好,并且说出对⽅的ID什么(Hello,rootyour UID is0.

3.统计⼀个有多少个⽤户

这⾥要注意到awk的⽤法,可以找linux的男⼈解决;

5.练习⼀下for语句吧

问题:写个脚本;

1.切换⼯作⽬录⾄/tmp

2.依次向/tmp⽬录中的每个⽂件或⼦⽬录问好(Hello,log

3.统计/tmp⽬录下共有多个⽂件,并显⽰出来

这个问题就相对简单了些,⼀个for语句就可以搞定,当然可以while搞搞

6.那么问题来了:

question

传递两个整数给脚本,让脚本分别计算并显⽰这两个整数的和,差,积,商

这⾥要注意的是,需要传⼊两个参数;

具体⽤到的⼀些知识请看下⾯:

读到这⾥⼤家对上⾯的⼩脚本是不是感觉特别easy了,哈哈;

7.写⼀个脚本;1100的和?

这个脚本就so easy;

8.接下来,我们写个很实⽤的脚本吧,假设你现在在机房,你想要看看机房哪些ip在开着,⽅便咱。。。,是吧。

我们可以 通过ping命令测试192.168.0.151192.168.0.254之间的所有主机是否在线

在这⾥2>&1代表不显⽰错误信息,其实就是把错误重定向到标准输出,然后重定向到/dev/null/dev/null就是个⿊洞,写⼊的任何东西都会

丢失,其实简要说就是把正确或错误的输出扔到垃圾桶。

写到这⾥⼤家是不是感觉⽿⽬⼀新呐,哈哈!