一.shell脚本(对应完成某一个功能的命令熟悉与否,决定着shell脚本的熟练与否。)
一个shell脚本就是一个普通的文本文件。
作用:将重复执行的操作写成脚本,自动执行。
二.Linux操作系统中重定向符号的使用。
类型:
输出重定向符号
输入重定向符号
命令在屏幕上面所显示的正常结果,这些显示的正常结果都是标准输出。
如上图所示,这样的报错,正常来讲就是标准错误输出。
1.输出重定向(方便我们使用脚本来新建文件,可以重定向命令的输出信息。)
可以将原来应该显示在屏幕上的输出结果,重定向到其他文件中。使得命令输出结果不显示在显示器上。
1.1 >
不仅能将命令所产生的标准输出重定向到文件中,还可以直接用来编写文件内容。
如上图所示,错误的标准错误输出不能重定向到文件中,
vim编辑器在脚本中是不能用的,如果脚本中存在着使用vim 编辑器去编辑脚本的操作,
那么当这个脚本执行到vim操作时,就会直接停到编辑脚本的操作。如此脚本的自动化执行操作便失去了意义。
如上图所示,就是相当于在/tmp/创建了一个file02文件并且利用输出重定向符号,在这个文件中编写相应的内容。
如上图所示,这就是在利用重定向符号在不删除文件的前提下,去清空文件内的数据。
1.2 >>(仅能重定向标准输出。)
>代表的意思是覆盖,>>代表的意思是追加。
如上图所示,原来的abc被>符号用123给覆盖了。
如上图所示,>>表示的意思是追加内容到文件中。
2.1 2>
仅重定向标准错误信息。
如上图所示,在编写脚本的时候,可以将标准输出错误,重定向到错误日志中。进而分析那里出错了,将出的错收集起来避免以后再犯。
3.1 &>
这个重定向符号可以重定向正确输出信息和错误输出信息。
但是当我使用重定向符号将输出信息存入到文件中的时候,都是直接将数据报错到硬盘中,长此以往会占据硬盘空间,对于不重要的屏幕输出信息可以重定向到/dev/null这个黑洞文件中,这样就不会占据硬盘空间。
2.输入重定向符号
< 最常用
作用:可以把一个文件的内容作为参数传递给命令
可以把一个文件的内容当成我们的键盘来使用,
在shell脚本中有可能需要我们写一些交互式命令,如果这些交互式命令直接写到shell脚本中,那么这个shell脚本也会失去自动执行的意义。
如上图所示,比如这个passwd命令,当这个命令出现的时候,需要我们用户去输入相应的内容,这个命令才会结束,我们才可以去做其他的操作,否则这个页面就卡在这里了。
如上图所示,这个命令也是一个交互式命令,
一旦直接将交互式命令写到脚本中,这个脚本就会失去自带执行的能力,
所以我们需要以另外的方式去在shell脚本中编写交互式命令。
事先我们可以把需要输入到交互式命令的数据,存放到一个文件中,当这个脚本中需要我们往交互式命令中填写数据的时候,直接利用输入重定向符号,代替用户在键盘上的操作。
如上图所示,这也是一个交互式命令,将我们输入的字符串到改写成大写的字符串。
此时我们可以预先把需要转换成大写字符串的数据,存放到文件中,然后在shell脚本中使用输入重定向符号,将文件中的内容当成键盘上的输入操作,