1 / 51
文档名称:

常用shell脚本指令[精辟].doc

格式:doc   大小:155KB   页数:51页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

常用shell脚本指令[精辟].doc

上传人:wxc6688 2021/1/19 文件大小:155 KB

下载得到文件列表

常用shell脚本指令[精辟].doc

文档介绍

文档介绍:常用shell脚本命令
1、显示包含文字aaa的下一行的内容:
        sed -n '/aaa/{n;p;}'  filename
2、删除当前行与下一行的内容:
      sed -i '/aaa/{N;d;}' filename
3、 删除当前行与下两行的内容:
       sed -i '/aaa/{N;N;d;}' filename
      依次类推,删除三行,则为{N;N;N;d;},分析知:N为next
4、得出以空格为分割的字符串中单词的个数,即统计个数:
       awk ' { print NF } '
       如显示字符串VALUE中的单词个数,其中VALUE为:aaa bbb ccc ddd ee f
       则执行 echo $VALUE | awk ' { print NF } ' 后的结果为6
5、在linux中建立一个文件与另一文件的链接, 即符号链接
       ln -s /var/named/chroot/etc/
       的符号链接。 ,这时用ll命令查看的结果如:
     lrwxrwxrwx  1 root root 32 Mar 22 12:29 -> /var/named/chroot/etc/
      注意:,会将符号链接的关系丢掉,。所以 需对实际文件进行删除操作。
6、显示指定字符范围内的内容:
      如:#test begin与#test end之间所有的字符
              sed -n "/#test begin/,/#test end/p"
               或 awk "/#test begin/,/#test end/"
在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!
在编写的过程中,掌握一些常用的技巧和语法就可 以完成大部分功能了,也就是2/8原则.
1. 单引号和双引号的区别
单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符 ,不会作变量的引用,直接输出字符窜。请看如下例子:
[******@linux ~]# name=HaHa
[******@linux ~]# echo $name
HaHa
[******@linux ~]# myname="$name is wow"
[******@linux ~]# echo $myname
HaHa is wow
[******@linux ~]# myname='$name is wow'
[******@linux ~]# echo $myname
$name is wow
从上面例子可以看出,使用了单引号的时候,那么$name只是普通字符,直接输出而已!
2. 逐行读取文件
使用for循环来读取文件
for line in `cat `
do
echo $line
done
注意:由于使用for来读入文件里的行时,会自动把空格和换行符作为一样分隔符,如果行里有空格的时候,输出的结果会很乱,所以 只适用于行连续不能有空格或者换行符的文件
使用while循环读取文件
cat |while read line
do
echo $line
done

或者:

while read line
do
echo $line
done <
注意:由于使用while来读入文件里的行时,会整行读入,不会关注行的内容(空格..),所以比for读文件有更好的适用性, 推荐使用while循环读取文件
3. bash shell 脚本中常用隐含变量
$0
当前执行的脚本或者命令名称
$1-$9
代表参数的位置. 举例 $1 代表第一个参数.
$#
脚本调用的参数的个数
$@
所有参数的内容
$*
所有参数的内容
$$
当前运行脚