Shell脚本---------编程规范

目录

一、编程语言

1、编程语言的三种处理逻辑

二、shell脚本

1、shell的作用

2、查看本机的shell信息

3、linux中常见的shell

4、shell脚本用途

5、脚本的构成

6、如何执行脚本?

7、脚本错误调试

7.1脚本错误类型

7.2检查脚本错误

三、重定向

1、定义

例1:重定向输入与输出修改密码

例2、覆盖追加

例3、混合输出


一、编程语言

1、编程语言的三种处理逻辑

①顺序执行:程序按从上到下顺序执行

②选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行

③循环执行:程序执行过程中需要重复执行多次某段语句

二、shell脚本

1、shell的作用

shell介于操作系统内核与用户之间,充当命令解释器的角色,负责接收用户输入的操作指令,并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。常见的shell解释器程序,使用不同的shell时,其内部指令,命令行提示符等方面会存在一些区别等方面。

2、查看本机的shell信息

Shell脚本---------编程规范_第1张图片

3、linux中常见的shell

①bash:基于gun架构下发展的shell

②csh:类似c语言的shell

③tcsh:整合了csh提供了更多的功能

④sh:已经被bash替换

⑤nologin:让用户无法登录

4、shell脚本用途

①将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率

②减少手工命令的重复输入,一定程度上避免人为错误

③将软件或应用的安装及配置实现标准化

④用于实现日常性的,重复性的运维工作

5、脚本的构成

①解释器:(用什么语言写的)

②注释:解释语句含义

③执行语句

6、如何执行脚本?

①使用路径执行  (需要权限)

chmod +x /root/1.sh					#给脚本添加可执行权限
指定绝对路径: /root/1.sh 			
指定相对路径: ./1.sh

Shell脚本---------编程规范_第2张图片

Shell脚本---------编程规范_第3张图片

②直接使用解释(不需要权限)

③用source和.执行(不需要权限)

Shell脚本---------编程规范_第4张图片

前两种方式执行脚本,会开启子bash去执行

使用source和.执行,会影响当前的bash环境

7、脚本错误调试

7.1脚本错误类型

①命令错误:命令出错不会影响接下来的命令继续

②语法错误:会影响接下来的命令继续

③逻辑错误:只能自己去筛查代码的正确

7.2检查脚本错误

①检查语法错误:bash -n脚本名称(不在当前目录下添加绝对路径)

②检查逻辑错误:bash -x脚本名称(不在当前目录下加绝对路径)

三、重定向

1、定义

重定向就是:不通过标准输出到屏幕上,输出到你指定的位置

类型                     操作符    用途
重定向输入           <            从指定的文件读取数据,而不是从键盘输入
重定向输出           >            将输出结果保存到指定的文件(覆盖原有内容)
重定向输出           >>         将输出结果换行添加在文件尾部
重定向错误输出    2>         将错误信息保存到指定的文件(覆盖原有内容)
重定向错误输出    2>>      将错误信息追加到指定的文件中
混合输出               &>       将标准输出、标准错误的内容保存到同一个文件中

例1:重定向输入与输出修改密码

Shell脚本---------编程规范_第5张图片

例2、覆盖追加

#将12345678输入到文件log.txt中
[root@Zhuzi ~]#echo "12345678" > log.txt
[root@Zhuzi ~]#cat log.txt 
12345678
[root@Zhuzi ~]#
 
#再将112234写入log.txt中,这个时候会覆盖原来的数据
[root@Zhuzi ~]#echo "112234" > log.txt 
[root@Zhuzit ~]#cat log.txt 
112234
[root@Zhuzi ~]#
 
#继续将112234写入log.txt中,使用>>,这个时候会追加原来的数据
[root@Zhuzi ~]#echo "112234" >> log.txt 
[root@Zhuzit ~]#cat log.txt 
112234
112234

Shell脚本---------编程规范_第6张图片

例3、混合输出

Shell脚本---------编程规范_第7张图片

你可能感兴趣的:(linux,运维,服务器)