作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:
Shell编程-什么是shell(本章节)
Shell编程-变量
Shell编程-数据类型
Shell编程-逻辑判断
Shell编程-if判断
Shell编程-if和else
Shell编程-while循环
Shell编程-for循环
Shell编程-case
Shell编程-break
Shell编程-continue
Shell编程--函数
Shell编程-案例(一)
Shell编程-案例(二)
Shell编程-小结
Shell 是一种命令行解释器,也是一种具有特殊用途的程序,它为用户提供了与操作系统内核进行交互的界面。以下是关于 Shell 的详细介绍:
一、基本概念与作用
ls 命令来查看当前目录下的文件列表时,Shell 会将 ls 这个命令解析并传递给操作系统,操作系统执行相应的操作后,将文件列表信息返回给 Shell,Shell 再将这些信息显示在终端上。二、常见Shell
1. Bash (Bourne Again Shell)
/bin/bash。2. Sh (Bourne Shell)
/bin/sh,在现代系统中,/bin/sh 可能指向 /bin/bash 的兼容模式。当然还有其他Shell,比如Ksh,Zsh等使用较少,这里就不介绍了。
三.脚本格式
1.bash解释器
#!/bin/bash
echo "This is bash2.sh解释器
#!/bin/sh
echo "this is sh"3.默认的Shell解释器
echo "this is xxx"以上3种书写格式都可以达到同样的目的,但是建议使用第一种,最为大家常用的规范。
四.命令规范
保存为文件格式:xxx.sh。同脚本格式一样,也是没有要求的,只是大家都采用相同的规范,方便传播和其他人识别。
五.执行方式
1.给文件添加权限
chmod 755 xxx.sh
chmod u+x xxx.sh2.执行方式一
./xxx.sh //相对路径
/root/xxx.sh //绝对路径相对路径是指当前命令行所在的路径,登录以后,一般都是家目录,可以使用pwd命令查看当前路径。
绝对路径是从根分区开始计算,比如/root/目录/xxx.sh 有多少层级需要计算多少层级。
3.执行方式二
bash xxx.sh
sh xxx.sh可以使用 sh -x xxx.sh 或者bash -x xxx.sh 可以看到执行过程,如果执行出错,可以看到比较详细的信息。但是有些脚本会输出很多内容。
这种方式执行不需要添加执行权限也可以执行。但是里面的解释器就等于失效了,使用的是前面的指定的解释器。

总结
1.在Linux系统里面,文件名或者说后缀并不起任何作用。使用.sh标注shell脚本,只是为了方便区分和识别,其他类型的文件也是一样的。
2.解析器也只是为了指定执行的shell,建议也按照规范书写。
3.shell脚本内部的命令,可以是linux下的任何命令,但是需要注意,有些命令会涉及到交互,比如yum 不使用-y 参数,执行脚本的时候他就会在控制台等待你确认,会阻塞在这里,具体看需求。
4.真实环境编写脚本多测试,然后才拿到生产环境使用。