
Linux与shell脚本编程阅读笔记
文章平均质量分 92
阅读linux与shell脚本编程书籍
君_莫_笑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
21. sed进阶
它只打印多行模式空间中的第一行,这包括模式空间中直到换行符为止的所有字符。模式空间(pattern space)是一块活跃的缓冲区,在sed编辑器执行命令时它会保存待检查的文本。,例如echo打印一段话,然后使用sed -n指令,用:start声明start的地址,然后使用。根据替换命令的结果跳转到某个标签,如果替换命令没能匹配指定的模式,测试命令不会跳转。从含有字符的开始到数据流结束,这个区间内的任何行都不会从输出中删除,值得注意的是。但是上面的代码对最后一行也添加了空行,可以实现对最后一行的修正。原创 2023-06-05 20:44:57 · 155 阅读 · 0 评论 -
20 正则表达式
20.1.1 定义使用模式字符串匹配文本,如果不匹配就被过滤。匹配任意多个字符。20.1.2 正则表达式的类型不同的工具使用不同的正则表达式引擎:1.POSIX基础正则表达式(basic regular expression,BRE)引擎2.POSIX扩展正则表达式(extended regular expression,ERE)引擎20.2.1 纯文本直接找到含有test的语句打印出来正则表达式严格区分大小写,例如由于是大写所以怎么都不能匹配20.2.2 特殊字符.*[]^${}\+?原创 2023-05-16 13:08:20 · 255 阅读 · 0 评论 -
19. 初识sed和gawk
如果不想用分号,也可以用bash shell中的次提示符来分隔命令。只要输入第一个单引号标示出sed程序脚本的起始(sed编辑器命令列表),bash会继续提示你输入更多命令,直到输入了标示结束的单引号。默认情况下,在sed编辑器中使用的命令会作用于文本数据的所有行。可以写脚本来读取文本行的数据,然后处理并显示数据,创建任何类型的输出报告。转换命令是一个全局命令,也就是说,它会文本行中找到的所有指定字符自动进行转换,而不会考虑它们出现的位置。替换标记会输出修改过的行,结合一下就会输出被替换命令修改的行,原创 2023-05-11 23:30:13 · 384 阅读 · 0 评论 -
18 图形化桌面环境中的脚本编程
yesno部件进一步扩展了msgbox部件的功能,允许用户对窗口中显示的问题选择yes或no。它会在窗口底部生成两个按钮:一个是Yes,一个是No。第一个参数定义为菜单的标题,第二、三个参数定义了菜单窗口的高和宽,第四个参数表示一次显示的菜单项总数。桩函数是一个空函数,或者只有一个echo语句,说明最终这里里需要什么内容。它会生成一个滚动窗口来显示由参数所指定的文件中的文本。如果想在窗口顶部放一个标题,也可以用–title参数,后接作为标题的文本。中所采用的选项惯例,因此,将已有的交互式脚本迁移到。原创 2023-05-08 23:28:39 · 134 阅读 · 0 评论 -
17创建函数
一旦在shell中定义了函数,你就可以在整个系统中使用它了,无需担心脚本是不是在PATH环境变量里。要让函数在多个脚本中都可以使用,最好创建函数库文件,在多个脚本中引用,就是常见编程语言中的头文件。当在命令行上定义函数时,你必须记得在每个命令后面加个分号,这样shell就能知道在哪里是命令的起止了。跟一般的编程语言一样,数组名代表数组首地址,首地址对应的元素是数组中第一个元素。可以得到函数的返回值,执行成功默认返回0,执行失败默认返回1。下次启动shell时,库中的所有函数都可在命令行界面下使用了。原创 2023-05-06 23:09:02 · 76 阅读 · 0 评论 -
16. 控制脚本
每次启动一个新的shell的时候,bash shell都会运行.bashrc文件,因此可以将shell启动时需要执行的脚本放在.bashrc文件中实现。如果每次运行脚本的时候都能够启动一个新的bash shell(即便只是某个用户启动了一个bash shell),将会非常的方便。(在我的ubuntu系统下,如果不输入新的指令,会一直等待不会自动显示结束消息,暂时没有搞清楚原因,之后补充)有时你会想在终端会话中启动shell脚本,然后让脚本一直以后台模式运行到结束,即使你退出了终端会话。原创 2023-05-04 19:22:54 · 121 阅读 · 0 评论 -
15 阅读笔记呈现数据
为了解决这个问题,可以将STDERR重定向到null文件,null文件在linux的标准位置为/dev/null。如果你创建了新的输入或输出文件描述符,shell会在脚本退出时自动关闭它们。可以将echo语句的输出发给STDERR,一旦重定向了STDOUT或STDERR,就很难再将它们重定向回原来的位置。同时由于/dev/null文件不含有任何内容,程序员通常用它来快速清除现有文件中的数据,而不用先删除文件再重新创建。在脚本中将错误信息重定向到STDERR,然后在运行的时候将STDERR重定向到某个文件。原创 2023-05-02 11:18:49 · 76 阅读 · 0 评论 -
14 linux处理用户输入shell脚本
有效的选项字母都会列在optstring中,如果选项字母要求有个参数值,就加一个冒号。如果一个脚本既要使用参数又要使用选项,这个时候需要一个特殊的参数帮助辨识哪些是参数哪些是选项,这里使用"–"来分离。传递的是完整的脚本路径,使用basename得到不包含路径的脚本名,从而根据不同的脚本名实现不同的功能。在你不知道到底有多少个参数的时候,你可以使用shift将之后变量的值转移到之前,如。上述的命令只能处理单个选项,对于复合选项毫无能力,因此介绍下面的getopt命令。原创 2023-04-29 18:11:58 · 434 阅读 · 0 评论