Shell脚本概述
Shell脚本的概念
将要执行的命令按顺序保存到一个文本文件
给该文件可执行权限
可结合各种Shell控制语句以完成更复杂的操作
Shell脚本应用场景
重复性操作
交互性任务
批量事务处理
服务运行状态监控
定时任务执行
shell脚本编程规范与变量
1、什么是shell?
shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结返回给我们
2、shell的作用
1) shell 的作用
Linux系统中的shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执给内核执行,并输出执行结果。
常见的shell解释器程序有很多种,使用不同的shell时,其内部指令、命令行提示符等方面会存在一些区别。通过/etc/shells文件可以了解当前系统所支持的shell脚本种类。
[root@localhost ~]# cat letc/ shells
/bin/sh #是bash命令的软链接(已经被/bin/bash所替换)
/ bin/bash #基准于GNU的框架下发展出的shell。
/usr/bin/sh #已经被bash所替换。
/usr/bin/bash #centos和redhat系统默认使用bash shell
/bin/tcsh #csh的增强版,与csh完全兼容整合了csh,提供更多的功能。
/bin/csh #已经被/bin/bash所替换―(整合C shell,提供更多的功能)
注: noloain:奇怪的shell,这个shell可以让用户无法登录主机。
bash (/bin/bash)是目前大多数linux版本采用的默认Shell
为什么我们的系统上合法的shell要写入/etc/shells这个文件?
这是因为系统某些服务在运行过程中,会去检查用户能够使用的shells,而这些shell的查询就是借由/etc/shells这个文件。
用户什么时候可以取得shell来工作?还有我这个默认会取得哪一个shell?
当我登录的时候,系统就会给我shell让我来工作,而这个登录取得的shell就记录在/etc/passwd这个文件内。
不同的shell具备不同的功能,shell还决定了Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途
目前大多数linux系统默认使用的是bash shell,默认登陆shell是/bin/bash,可以查看/etc/passwd文件里
注明:
这个shell是针对用户而言的,可以查看/etc/passwd里面的最后的字段使用的是哪个shell,如果想要修改可以用chmod -s或者chsh -s来重新指定
2 ) shell脚本是什么
shell脚本就是说我们把原来 linux
命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为 shell脚本或shell
程序;我们可以在脚本中输入一系统的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的shell脚本
总结:将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的
3) shell脚本能干什么
自动化完成软件的安装部署,如安装部署LAMP架构服务
自动化完成系统的管理,如批量添加用户
自动化充成备份,如数据库定时备份
自动化的分析处理,如网站访问量
4 ) shell脚本使用场景
在需要完成大量复杂、重复性的工作时,不需要在命令行重复执行命令,直接运行shell脚本即可,大大的节省了时间提高了效率
5 )如何学习shell脚本
熟悉掌握各种linux命令
掌握脚本的标准格式
掌握脚本的基本语法
编写Shell脚本
<