Shell应用技巧

参考资料:《Linux编程基础黑马程序员》
1.所谓重定向,就是用用户指定的文件而非默认资源(键盘、显示器)来获取或接收信息。


2.错误重定向使用的也是输出重定向运算符>,重定向错误输出的方式与输出重定向的方式略有不同,其格式如下:
命令 2>文件名

不同之处就在于这个在箭头的前面多了一个数字2.这个数字2就是标准错误文件的编号2.其实在输入、输出重定向中,也可以添加对应的文件编号(输入是0,输出是1),只是当标准输入、标准输出的文件编号出现在重定向符号左边时,可以被省略。


3.运算符‘&’表示“等同于”,如2>&1表示将标准错误的输出重定向到指定的标准输出文件。若再次之前标准输出文件已被修改,则命令执行过程中的错误不会输出到默认的标准输出文件(默认的设备是显示器),而是输出到当前指定的标准输出文件。例如,现在有一个设备文件:
1> /dev/null

这条指令相当于指定标准输出重定向到该空文件。然后执行以下指令:

2>&1

这条指令相当于把标准错误输出也视为标准输入,命令的错误信息不会显示在显示屏上,而是输入到/dev/null文件中.


4.输出某目录下包含谋关键字的文件的详细信息:
ls -l 目录|grep 关键字

5.&&:命令连接符之一,只有该连接符之前的命令执行成功,它后面的命令才被执行

||:只有前面的命令执行失败时,才会执行后面的命令


6.执行Shell脚本文件:我们可以用vi编辑器来编辑所需的程序,命名为first,内容为:

在这里插入图片描述
执行方法有二:
1)将脚本文件作为一个可执行文件,但是创建的文件一般默认没有可执行权限,因此需使用chmod来提升文件权限:

在这里插入图片描述
然后便可以执行脚本文件了,执行该文件的方式在上面也已经给出来了。

2)将脚本文件作为一个参数,通过Shell解释器对其进行解析:
在这里插入图片描述
上面两种方法都能执行脚本文件,脚本文件执行后输出:

在这里插入图片描述


7.现在来分析一下上述shell程序:
1)文件第一行的#!是一种特殊的注释,它后面的参数表明了系统会调用哪个程序来执行该脚本,在本例中,/bin/sh是默认的Shell程序。
2)echo是一个输出方法,类似于C语言中的printf()函数,用于输出数据。
3)脚本最后一行的exit命令的作用是确保该脚本程序能够返回一个有意义的退出码。该脚本被别的脚本程序调用时,可以通过检查其退出码来确认该脚本程序是否成功执行。

猜你喜欢

转载自blog.csdn.net/yuanren201/article/details/88541756
今日推荐