shell
文章平均质量分 88
Hehuyi_In
这个作者很懒,什么都没留下…
展开
-
ansible权威指南笔记(四)—— roles的用法
一、 roles简介自1.2版本引入的新特性,用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等,只需要在playbook中使用include指令即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并通过include调用它们的一种机制,类似于其他开发语言中的项目。二、roles目录结构每个角色,以特定的层级目录结构进行组织Roles各目录作用roles/project/:原创 2020-03-12 00:52:58 · 4717 阅读 · 1 评论 -
用新PowerShell 运行旧的CMD命令
引言我从老旧的 CMD.EXE 命令行换到优秀的 POWSERSHELL.EXE 已经有一段时间啦。您可能知道新的 Windows PowerShell 可以运行任何旧命令。不过有些旧命令的名称或语法可能会产生问题。但这都不是事儿。一、 麻烦1:名称冲突PowerShell 的别名和旧命令名称有冲突是个常见的问题。比如说您喜欢的服务控制命令 SC.EXE。如果您想查看 SMB Server 服务的状态,可以在 CMD.EXE 里这样用:C:\>SC QUERY LANMANSER转载 2021-08-28 15:55:16 · 4526 阅读 · 1 评论 -
shell脚本编程笔记(十一)—— sed进阶
xxx原创 2020-12-31 01:21:48 · 2207 阅读 · 0 评论 -
shell脚本编程笔记(十)—— 正则表达式
一、定义正则表达式是你所定义的模式模板 (pattern template),利用通配符来描述数据流中的一个或多个字符。Linux工具(比如sed或gawk)能够在处理数据时用它对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;否则,它就会被滤掉。2 正则表达式的类型使用正则表达式最大的问题在于有不止一种类型的正则表达式。 Linux中的不同应用程序可能会用不同类型的正则表达式。这其中包括编程语言(Java、 Perl和Python)、 Linux实用工具(sed、ga..原创 2020-12-13 20:22:01 · 1883 阅读 · 0 评论 -
shell脚本编程笔记(十二)—— gawk程序
gawk 程序虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制。通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据。这正是gawk能够做到的gawk程序是Unix中的原始awk程序的GNU版本。 gawk程序让流编辑迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令。在gawk编程语言中,你可以做下面的事情:q 定义变量来保存数据;q 使用算术和字符串操作符来处理数据;q 使用结构化编程概念(比如if-then语句和循环).原创 2020-12-19 00:08:29 · 2810 阅读 · 0 评论 -
shell脚本编程笔记(九)—— 初识流编辑器 sed
一、 简介sed编辑器被称作流编辑器(stream editor),和普通的交互式文本编辑器恰好相反。在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式地插入、删除或替换数据中的文本。流编辑器则会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。 sed编辑器会执行下列操作。一次从输入中读取一行数据。(这个很重要)(2) 根据所提供的编辑器命令匹配数据。(3) 按照命令修改原创 2020-12-13 00:48:51 · 2484 阅读 · 1 评论 -
shell脚本编程笔记(八)—— 脚本函数
函数是一个脚本代码块,可以为其命名并在代码中任何位置重用。要在脚本中使用该代码块时,只要使用所起的函数名就行了(这个过程称为调用函数)。一、 基本的脚本函数1.创建函数有两种格式可以用来在bash shell脚本中创建函数。函数名必须是唯一的,否则可能会有问题。如果重定义了函数,新定义会覆盖原定义,且不会产生任何错误消息。第一种格式采用关键字function,后跟分配给该代码块的函数名。function name {commands}第二种格式更接近于其他编程语言中定义函数的方.原创 2020-12-12 14:17:39 · 2442 阅读 · 1 评论 -
shell脚本编程笔记(七)—— 信号处理与作业控制
一、处理信号Linux利用信号与运行在系统中的进程进行通信。可以通过对脚本进行编程,使其在收到特定信号时执行某些命令,从而控制shell脚本的操作。默认情况下, bash shell会忽略收到的SIGQUIT (3)和SIGTERM (15)信号(因此交互式shell不会被意外终止),但是会处理收到的SIGHUP (1)和SIGINT (2)信号。有时候,忽略这些信号可能会不利于脚本的运行,要避免这种情况,你可以脚本中加入识别信号的代码,并执行命令来处理信号。二、生成信号b...原创 2020-12-11 23:51:07 · 2877 阅读 · 1 评论 -
shell脚本编程笔记(六)—— 输出处理
一、标准文件描述符Linux将每个对象当作文件处理,包括输入和输出进程。Linux用文件描述符(file descriptor)来标识每个文件对象,文件描述符是一个非负整数,可以唯一标识会话中打开的文件。每个进程一次最多可以有9个文件描述符,bash shell保留了前3个(0,1,2),这三个被称为标准文件描述符。1. STDINSTDIN文件描述符代表shell的标准输入,对终端界面来说,标准输入是键盘。许多bash命令能接受STDIN的输入,当在命令行上只输入cat命令时,它会从键盘.原创 2020-12-10 23:35:12 · 5606 阅读 · 1 评论 -
Linux expect —— 安装、常用语法及案例
Expect 主要应用于自动化交互式操作场景,可以将ssh、ftp、scp等需人工交互的操作写在一个脚本上使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率。其主要交互流程是:spawn启动指定进程 -> expect获取指定关键字 -> send发送指定指令 -> 执行完成 -> 继续或退出.一、 下载安装expect 是由基于Tcl( Tool Command Language )语言开发的,因此安装前需要.原创 2020-12-03 18:43:13 · 14452 阅读 · 2 评论 -
《AWK程序设计语言》笔记(1)—— AWK入门与简单案例
原文为 《The AWK Programming Language》,GitHub上有中译版,不过有些内容翻译的比较奇怪,建议跟原版对照着看https://github.com/wuzhouhui/awk本篇的小案例基本均基于文件emp.data,三个字段分别为:员工名、每小时工资、工作时长,每一行代表一个雇员的记录Beth 4.00 0Dan 3.75 0Kathy 4.00 10Mark 5.00 20Mary 5.50 22Susie 4.25 18一、 AWK入门1...原创 2020-10-05 00:34:14 · 1744 阅读 · 0 评论 -
shell脚本编程笔记(五)—— 输入处理
一、 处理用户输入1. 命令行参数向shell脚本传递数据最基本的方法是使用命令行参数,在脚本运行时指定参数,例如:./add.sh 10 30./output.sh 'Hello World' #带空格的参数需加引号,单双引号均可shell提供位置参数(一组特殊环境变量集合),分别用$1 $2..$9表示第一至第九个参数,10之后写法为${10}。有两个比较特殊的参数$0和$#,$0表示执行的脚本名(含路径),$#表示参数的个数如果只想获取脚本名不需要路径,可以使用base原创 2020-06-24 15:30:02 · 5087 阅读 · 0 评论 -
shell脚本编程笔记(四)—— 流程控制之循环结构
循环命令主要有三种:for(for又分两种)、while、until,另外有两个控制循环提前结束的命令:continue、break。一、 for循环for循环有两种格式,一种bash shell基本格式,一种C语言风格的形式。1.bash shell的基本格式for variable [in words]do commandsdonefor命令的强大之处在于可以通过多种方式来创建in后面的列表,例如:直接由你列出所有要循环的值#!/bin/bash ..原创 2020-06-21 16:50:05 · 1677 阅读 · 0 评论 -
shell脚本编程笔记(三)—— 流程控制之分支结构
命令流程通常有三种 —— 顺序、分支及循环,顺序没啥好说的,流程控制的重点在于分支和循环结构。在了解这两个结构之前,补充一个知识点 —— 退出状态码一、退出状态码1. 含义及查看方法shell中运行的每个命令其实都有退出状态码,退出状态码是0~255之间的整数值,在命令结束时传给shell,标志命令是否正常执行。0表示正常,其余数字表示各种各样的异常,常见如下: 状态码 描述 0 命令成功结束 1.原创 2020-06-21 02:09:58 · 1879 阅读 · 0 评论 -
shell脚本编程笔记(二)—— 执行数学运算
数学运算在编程中也很重要,shell对它的支持并不算好,本文整理一下shell进行数学运算的途径,各种方法的缺点。一、 expr命令shell最开始处理数学表达式的命令,可以在命令行做算术运算,参数与运算符间一定要有空格,否则无法识别expr arg1 运算符 arg2可以将数学表达式结果赋值给一个变量对于Linux的一些特殊字符,它无法识别,需要使用转义字符。由于expr命令比较笨拙,经常无法识别符号,bash引入了一种更简单的方法执行数学表达式二、使用$..原创 2020-06-20 16:53:51 · 1646 阅读 · 0 评论 -
shell脚本编程笔记(一)—— shell简介与变量
一、 shell简介1. shell的类型系统启用什么样的shell取决于用户配置,在/etc/passwd的最后一个字段列出了用户的默认shell,一般为/bin/bash,其他还有zsh,tcsh,dash,csh等。bash shell程序位于/bin目录下,使用长列表可以看出它是一个可执行程序:另外一个默认的shell是/bin/sh,作为默认的系统shell,用于需要在启动时使用的系统shell脚本。centos中使用软链接将默认的系统shell设置成bash shell。原创 2020-06-20 15:59:19 · 1586 阅读 · 1 评论