shell编程笔记

来源:互联网 发布:看火影忍者的软件 编辑:程序博客网 时间:2024/06/10 17:03
shell脚本种类:一般shell主要用bash、ksh、csh等,二者就是支持度不同
1.在shell脚本的开始,一般要指定脚本的解释器,格式是#! /bin/sh(或其他解释器)
2.shell执行脚本的过程,是在执行的时候,由父进程新建一个子进程来执行该程序。子进程会继承父进程的环境变量,子进程修改环境变量不会改变父进程。因此子进程返回时,父进程的环境不会变。如在脚本中,使用cd命令,不会执行成功。
3.重定向
可以重定向标准输入、标准输出、错误输出,< (输入),>(输出),>>(附加接到后面,当输出到同一个文件时,为了不让后面的覆盖前面的,可以用附加到最后)。<<可以嵌入界定符。(如<<"EOF"当读到EOF会停止读如
4./dev/null的作用相当于垃圾箱,可以把不想看到的、不要的输出指向这个地址,有选择的输出。
5.通过设置locale环境变量,可以设置国际化与本地化
6.grep进行查找,可以以正则表达式进行匹配查找
7.执行批处理文本替换,一般用sed比较好。sed执行的时候,会以行为单位进行,可以通过条件设置筛选处理哪些行
8.cut可以提取出某一列(如 ls -l后,文件的大小列),awk也能做到,但是cut更简便。join可以将不同的文本进行组合
9.awk是一个比较强大的文本分析处理工具。一般用来对文本进行重排、分割等处理。awk设计的重点在对字段和记录的处理上。可以通过设定分割符FS(或者默认)来对文本进行分割。能使用循环、判断等方法
10.sort可以对文本进行排序。通过选项设置,可以定义排序依据。uniq对重复的记录进行处理,可以删除重复的记录,也能查看重复的记录的个数。
11.wc可以对文本的个数、行数、字数进行统计
12.tr命令可以将一个字符集转换为另一个字符集。
13.export可以将变量设置为环境变量。unset将变量删除,使其消失,不是null。env可以临时改变环境变量的值,也可以用于删除环境变量。
14.${......}展开运算符可以嵌入其他脚本。这样会执行中间的脚本,以执行的结果替换到中间
15.shell有内置的变量。如$#为变量的个数。$@为整个传入的参数等。
16.$((....))为算数展开,会执行中间的算数运算表达式。
17.0> 为标准输入,1>为标准输出,2>为错误输出。&1,&2为当需要对其输出或错误进行重定向操作时,如1>&2,将输出接到错误输出的后面
18。shell也能像C一样类似使用printf,也能控制格式输出
19.set可以改变shell 的参数位置,以及查看参数



0 0
原创粉丝点击