首页 > 代码库 > Linux学习日记—shell脚本基础

Linux学习日记—shell脚本基础

    在Linux的日常维护中,shell脚本是我们必不可少的日常管理之一;其作用是解决服务器的自动化维护工作,减轻管理员的工作量;如果想提高shell脚本的编写速度,必须要熟练使用vi编辑器的各种快捷键。

【什么是shell】
    Shell Script,Shell脚本Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,毕竟它使用了Linux/Unix下的命令。

【我的第一个脚本】

首先创建一个vim脚本文件,本例为创建一个以.sh结尾的test1测试文件

技术分享

在文件内出入以下内容

    其中echo为注释内容输出到屏幕,让使用者更容易读懂

技术分享添加权限并执行:

    常用的执行方式:#sh 脚本路径与名称

                    #source 脚本路径与名称

                    #直接输入脚本路径或名称(需要给脚本添加执行权限)

技术分享【重定向操作】

用户通过操作系统出了信息的过程中,包括以下几类交互设备文件

  • 标准输入(STDIN):默认的设备是键盘,文件编号为0,命令将从标准输入文件中读取在执行过程中需要的输入数据。

  • 标准输出(STDOUT):默认的设备是显示器,文件编号为1,命令将执行后的输出结果发送到标准输出文件。

  • 标准错误(STDERR):默认的设备是显示器,文件编号为2,命令将执行期间的各种错误信息发送到标准错误文件

(1)重定向输出:将命令的正常输出结果保存到指定的文件中,而不是显示在显示器上

“>”表示重定向输出(如果文件存在则会覆盖)

技术分享>>表示重定向追加

技术分享(2)重定向输入:将命令中接收输入的途径有默认的键盘改为指定的文件,而不是等待从键盘输入,重定向输入使用“<”操作符。

使用vim在pass.txt文件中添加123456

然后执行passwd --stdin jerry < pass.txt

技术分享

(3)错误重定向:将执行命令的过程中出现的错误信息保存到指定的文件,而不是直接显示在屏幕上;错误重定向使用“2>”操作符,其中 2 是指错误文件的编号

技术分享

(4)使用“&>”操作符将两类输出信息保存到统一目录。例如,在编译源码包的自动化脚本中,若要忽略make,make install等操作过程信息,可以将其定向到空文件/dev/null

创建一个脚本文件:vim httpd_install.sh

技术分享

添加权限并执行:chmod +x httpd_install.sh

【管道操作】

    管道操作作为不同命令之间的协同工作提供了一种机制,位于管道符号“|”左侧的命令输出的结果,将作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。

(1)提取之前的结果

技术分享

(2)提取之后的效果,只显示用户名和shell列

技术分享

(3)在例如显示磁盘已用百分比

技术分享

本文出自 “乌云科技” 博客,请务必保留此出处http://wuyunkeji.blog.51cto.com/12028005/1866261

Linux学习日记—shell脚本基础