Shell
文章平均质量分 81
Shell语言入门学习,编写脚本
TA548464
时间一次一次更迭过往,我要一步一步实现愿望
展开
-
Shell编程--expect
实现批量修改密码,批量推送ssh的公钥,进行远程ssh连接,任何批量操作的基本都能处理。通过expect可以实现将交互式的命令变为非交互式执行,不需要人为干预(手动输入)是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预在实际工作中我们运行命令、脚本或程序时,都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行,而利用 expect 则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行,这就是 expect。原创 2024-01-16 11:09:32 · 376 阅读 · 0 评论 -
Shell编程--wc、cut、sort、uniq
利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。其中,3 个数字分别表示testfile文件的行数、单词数,以及该文件的字节数。检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数。在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。wc命令用于计算字数。原创 2024-01-16 10:42:26 · 933 阅读 · 0 评论 -
Shell编程--awk
awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。可以在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。原创 2024-01-15 11:12:11 · 928 阅读 · 0 评论 -
Shell编程--sed
sed:stream editor(流编辑器)的缩写是一种在线非交互式编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等非交互式编辑器,一次处理一行内容。原创 2024-01-15 10:01:58 · 1030 阅读 · 0 评论 -
Shell编程--grep、egrep
1. grep正则过滤—基本正则匹配1.1 * 0或多个1.2 \ < 词首定位符号 \ >词尾定位符号参数解释::用bar替换每一行的foo 表示所有行 用来替换文本 指定被替换的模式 指定替换成的文本 匹配模式出现多次时也替换1.4 $ 以什么结尾1.5 . 匹配单个字符1.6 .* 任意多个字符1.7 [ ] 匹配方括号中的任意一个字符1.8 [ - ] 匹配指定范围内的一个字符1.9 [^ ] 匹配不在指定组内的字符2. grep扩展正则匹配—egre原创 2024-01-12 15:02:59 · 956 阅读 · 0 评论 -
Shell编程--正则表达式(基本/拓展元字符、正则判断)
(示例在grep正则过滤)原创 2024-01-12 14:20:15 · 549 阅读 · 0 评论 -
Shell编程--数组
数组也是一种变量,常规变量只能保存一个值,数组可以保存多个值关联数组跟普通数组的区别:普通数组:通过索引来确定值;关联数组:标签和值互相关联,通过调用标签来获取标签对应的值。原创 2024-01-12 12:00:17 · 412 阅读 · 0 评论 -
Shell编程--函数function
函数名 function_name,这就是你将使用它从其他地方在你的脚本调用。function (功能) 功能函数计算机函数:就是固定的模块、固定的功能做固定的操作,相当于linux中的固定的功能,当需要使用的时候,就去调用函数作用:完成特定功能的代码片段(函数必须先定义才能使用)优点:避免重复的代码命名空间:在shell语言中命名空间函数内和函数外(不包括脚本)是一样的,函数内外不能赋值同样名字的变量变量:如果在同一个命名空间(同一个脚本内)可以用,如果不再同一个命名空间就不能用。原创 2024-01-11 16:08:55 · 592 阅读 · 0 评论 -
Shell编程--循环结构(for、while、until、shift、continue、break、exit)
若用户要求 Shell 在不知道位置变量个数的情况下,还能逐个的把参数一一处理,也就是在 $1 后为 $2,在 $2 后面为 $3 等,则需要用shift把所有参数变成$1。背景:写一个脚本,满足以下需求及应用,如一个文件的内容如下,根据文件内容实现批量创建用户,第一列为用户名,第二列为密码。continue:王炸,要不起,过,但是牌局还没结束,还在继续(跳过本次循环,进入下一轮循环)–while循环当条件为真的时候循环同时会一直循环,也就所说的死循环,为假时不循环。的时候的才循环,为真的时候就停止了;原创 2024-01-11 15:17:02 · 1156 阅读 · 0 评论 -
Shell编程--流程控制
第一行:声明case关键字调用case语法,紧跟的“变量”一般为用户的输入值, in代表从下方的各个模式进行匹配。[ ] 使用 -a、-o 分别表示与、或 关系 ,[[ ]]使用 &&、 ||表示与 、或关系。而且在使用中,[[ ]]比[ ]更加的稳定,在脚本的使用中,建议使用[[ ]][ ] 语法 都可以由 [[ ]] 替代,并且后者功能更丰富。,前面执行失败,后面执行,前面命令执行成功,后面不执行。[[ ]]支持正则表达式,而[ ]不支持。STRING2 (不等于)STRING2 (等于)原创 2023-11-11 15:05:29 · 653 阅读 · 0 评论 -
Shell编程入门--变量
预定义变量:预定义的特殊变量有着特殊的含义,用户不可以更改,所有的预定义变量都由$符号和另外一个符号组成,常用的预定义特殊变量如下:$$ 当前进程PID命令执行后的返回状态为 0 则执行正确,非 0 为执行错误$# 位置参数的数量$* 所有位置参数的内容$@ 显示所有的参数上一个后台进程的PID (wait命令中使用,后面讲)//ping百度和京东脚本/bin/bash。原创 2023-11-11 14:44:31 · 205 阅读 · 0 评论 -
Shell编程入门--概念、特性、bash配置文件
程序 语言 编程语言:自然语言(汉语 英语)、计算机语言(c语言、c++、java、php、python、go、shell)编译型语言:c、c++、java解释型语言:php、python、bash(shell)编译型语言:编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。比如Python/JavaScript/Shell等都是解释型语言。原创 2023-11-11 14:24:42 · 618 阅读 · 0 评论