目录
前言
什么是shell
shell的作用
脚本的类型
shell脚本的构成
创建shell 程序的步骤
shell脚本执行?????????
总结
前言
运维不能不会使用脚本,就像西方不能失去耶路撒冷。脚本可以极大的减少我们的工作量,让我们可以光明正大的摸鱼。可以很快定位故障。可以迅速完成部署。可以做大很多的事情。我们几乎所有的日常工作都可以通过脚本完成。我们只需要在出现从来没出现过的问题的时候解决一下就行了。
什么是shell
我们写shell脚本首先要知道说明是Shell,Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可是交互也可以是非交互式的,我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。
shell的作用
Linux系统中的Shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个"命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。
脚本的类型
[root@localhost ~]#cat /etc/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,提供更多的功能)
注: nologin:奇怪的shell,这个shell可以让用户无法登录主机。
bash ( /bin/bash)是目前大多数Linux版本采用的默认Shell。
shell脚本的构成
#!/bin/bash #脚本申明(默认解释器)∶表示此行以下的代码语句是通过/bin/bash程序来执行
#让操作者手动输入用户名 #代表注释,被注释的语句在脚本运行时不会被执行
read -p "请输入你的用户名:" name
#创建该用户
useradd $name
#让操作者手动输入密码
read -p "请输入你的密码:" pass
#为用户设置密码
echo $pass | passwd --stdin $name
创建shell 程序的步骤
第一步:创建一个包含命令和控制结构的文件。 #vim usr.sh
第二步:修改这个文件的权限使它可以执行 #使用chmod +x test.sh
第三步:检测语法错误
第四步:执行 #./usr.sh
shell脚本执行?????????
/home/first.sh
./first.sh
方法一:当前路径(决定路径与相对路径)下执行脚本(要有执行权限)
bash first.sh
sh first.sh
方法二: sh.bash脚本文件路径(这种方式可以不对脚本文件添加执行权限)
source first.sh
方法三: source 脚本文件路径(可以没有执行权限)
sh<first.sh
cat first.sh | sh (bash)
方法四:其他方法
总结
我现在只是讲解了最为简单的脚本是如何形成的,他仅仅是单纯的把命令依次执行就可以帮助我们解决很多问题。后面我们会在脚本里运用很多其他的技术来帮助我们制作更加复杂的脚本文件。来辅助我们完成更加困难或者是特殊的任务。
|