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信息

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

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

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

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

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

7、脚本错误调试

7.1脚本错误类型

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

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

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

7.2检查脚本错误

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

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

三、重定向

1、定义

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

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

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

例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

例3、混合输出

相关推荐

  1. Linux SHELL脚本编程

    2024-01-23 17:56:05       44 阅读
  2. 【学习Shell脚本编程

    2024-01-23 17:56:05       36 阅读
  3. SHELL脚本编程训练1

    2024-01-23 17:56:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-23 17:56:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-23 17:56:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-23 17:56:05       82 阅读
  4. Python语言-面向对象

    2024-01-23 17:56:05       91 阅读

热门阅读

  1. idea编译打包前端vue项目

    2024-01-23 17:56:05       51 阅读
  2. MySQL新增、管理用户,控制访问【新手向】

    2024-01-23 17:56:05       57 阅读
  3. Qt容器QVector

    2024-01-23 17:56:05       54 阅读
  4. 程序员裁员潮:技术变革下的职业危机

    2024-01-23 17:56:05       52 阅读
  5. Map转成String,String 转换成Map

    2024-01-23 17:56:05       52 阅读
  6. 牛客周赛 Round 29 (A-E , c++)

    2024-01-23 17:56:05       61 阅读
  7. Docker安装步骤

    2024-01-23 17:56:05       50 阅读