本章结构
Shell脚本概述
Shell的作用
Shell编程规范
重定向与管道
Shell脚本变量
自定义变量
特殊变量
Shell脚本概述 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件
给该文件可执行权限
可结合各种Shell控制语句以完成更复杂的操作
shell 的作用
Linux系统中的shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个"命令解释器"的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。
常见的shell 解释器程序有很多种,使用不同的shell时,其内部指令、命令行提示符等方面会存在一些区别。通过/etc/shells文件可以了解当前系统所支持的shell 脚本种类。
注: nologin:奇怪的shell,这个shell可以让用户无法登录主机。
bash ( /bin/bash)是目前大多数Linux版本采用的默认shell。
为什么我们的系统上合法的shell要写入/etc/shells这个文件?
这是因为系统某些服务在运行过程中,会去检查用户能够使用的shells,而这些shell的查询就是借由/etc/shells这个文件。
shell脚本具体能干什么
自动化完成软件的安装部署,如安装部署虚拟机(PXE)
自动化完成系统管理,比如批量的增添用户
自动化完成备份,如数据的自动备份(按时,时间可以自己设置)
等等
shell脚本的使用场地
在需要完成大量复杂、重复性的工作时,不需要在命令行重复执行命令,直接运行shell脚本即可,大大的节省了时间提高了效率(顺便还能摸个鱼)
如何学习shell脚本
熟悉掌握各种linux命令
掌握脚本的标准格式
掌握脚本的基本语法
shell脚本的构成
第一行为"#! /bin/bash" ,脚本申明(默认解释器):表示此行以下的代码语句是通过/bin/bash程序来执行。还有其他类型的解释器,比如#! /usr/bin/python、# !/usr/bin/expect
注释信息:以"#“开头的语句表示为注释信息,被注释的语句在脚本运行时不会被执行
创建shell 程序的步骤:
第一步:创建一个包含命令和控制结构的文件。
第二步:在编辑完后修改这个文件的权限使它可以执行 #使用chmod +x dome.sh
第三步:检查语法是否有误(命令集合是否正确)
第四步:执行./dome.sh
shell脚本的执行通常有以下几种方式
方法一:当前路径(决定路径与相对路径)下执行脚本(要有执行权限)
/home/dome.sh或者./dome.sh
方法二:sh、bash脚本文件路径(这种方式可以不对脚本文件添加执行权限)
bash dome.sh或sh dome.sh
方法三: source脚本文件路径(可以没有执行权限)
source dome.sh
方法四:其他方法
sh < dome.sh或者cat dome.sh l sh (bash)
执行命令的方法:
第二个例题:将vim里的内容加入下方的东西
前面已经授权过了 所有这地方就不用授权可以直接用
当运行完脚本会发现下方的内容会以非常醒目的方式来显示