![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell
文章平均质量分 90
Redamancy_06
这个作者很懒,什么都没留下…
展开
-
Shell笔记(超级完整)
Shell 概述、Shell 脚本入门、Shell变量、Shell特殊变量、系统预定义变量、自定义变量、运算符、expr方法、$((运算式)) 或 $[运算式]、常用判断条件、流程控制(重点)、if 判断、case 语句、for 循环、while 循环、read 读取控制台输入、系统函数、自定义函数、正则表达式入门、特殊字符、文本处理工具、cut、awk 的内置变量、归档文件、发送消息、特殊字符:^、特殊字符:$、特殊字符:.特殊字符:*、字符区间(中括号):[ ]、特殊字符:\、匹配手机号、脚本的常用执行原创 2022-07-29 09:27:05 · 7252 阅读 · 8 评论 -
Shell中的文本处理工具、cut [选项参数] filename 说明:默认分隔符是制表符、awk [选项参数] ‘/pattern1/{action1}filename 、awk 的内置变量
cut 的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。awk和gawk是一样的,awk是gawk的一个软连接一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。.........原创 2022-07-27 01:05:31 · 730 阅读 · 16 评论 -
Shell的正则表达式入门、常规匹配、特殊字符:^、$、.、*、字符区间(中括号):[ ]、特殊字符:\、匹配手机号
记得加大写的-E,因为目前grep不支持{9}的扩展的正则的,所以需要加上-E,表示支持扩展的正则表达式。匹配任意字符,可以和^$连用,放在他们中间用,就可以将下面的代码实现,以a开头,login结尾的行。[a-c,e-f]-匹配a-c或者e-f之间的任意字符。记得加大写的-E,因为目前grep不支持{9}的扩展的正则的,所以需要加上-E,表示支持扩展的正则表达式.* 匹配什么?匹配任意字符,可以和^$连用,放在他们中间用,就可以将下面的代码实现,以a开头,login结尾的行、思考:^$ 匹配什么?匹配空行原创 2022-07-26 22:49:56 · 4921 阅读 · 5 评论 -
Shell综合应用案例,归档文件、发送消息
需求实现一个每天对指定目录归档备份的脚本,输入一个目录名称(末尾不带/),将目录下所有文件按天归档保存,并将归档日期附加在归档文件名上,放在/root/archive下。需求实现一个向某个用户快速发送消息的脚本,输入用户名作为第一个参数,后面直接跟要发送的消息。脚本需要检测用户是否登录在系统中、是否打开消息功能,以及当前发送消息是否为空。后面可以加上-c选项表示归档,加上-z选项表示同时进行压缩,得到的文件后缀名为.tar.gz。这个可以查看用户在线情况,+号代表的是可以发送信息,mesg是打开的。....原创 2022-07-26 17:48:34 · 603 阅读 · 4 评论 -
Shell函数、系统函数、basename [string / pathname] [suffix] 可以理解为取路径里的文件名称 、dirname 文件绝对路径、自定义函数
dirname截取最后一个斜杠之前的路径,不包括文件名,而basename截取最后一个斜杠之后的文件名,不包括路径、 suffix 为后缀,如果 suffix 被指定了,basename 会将 pathname中的 suffix 去掉。(1)必须在调用函数地方之前,先声明函数,shell 脚本是逐行运行。不会像其它语言一样先编译。 (2)函数返回值,只能通过$?系统变量获得,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。return 后跟数值 n(0-255).......原创 2022-07-26 16:50:21 · 514 阅读 · 0 评论 -
Shell的read 读取控制台输入、read的使用
read是Shell内置命令,用来从标准输入中读取数据并赋值给变量。如果没有进行重定向,默认就是从键盘读取用户输入的数据;如果进行了重定向,那么可以从文件中读取数据。原创 2022-07-26 01:22:42 · 802 阅读 · 8 评论 -
Shell流程控制(重点)、if 判断、case 语句、let用法、for 循环中有for (( 初始值;循环控制条件;变量变化 ))和for 变量 in 值 1 值 2 值 3… 、while 循环
“{}”在linux shell里面表示生成序列、在for循环中$*和$@的区别、注意事项: ①[ 条件判断式 ],中括号和条件判断式之间必须有空格②if 后要有空格、在中括号里面的话就不用&&(||)而是用-a(-and)(和-o(-or))、用逻辑与&&逻辑或||连接(单分支)(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。(2)双分号“;;”表示命令序列结束,相当于 java 中的 break。 (3)最后的“*)”表示默认模式,相当于 java 中的 default。当原创 2022-07-26 00:51:16 · 551 阅读 · 6 评论 -
Shell运算符、$((运算式))” 或 “$[运算式]、expr方法、条件判断、test condition、[ condition ]、两个整数之间比较、按照文件权限进行判断、按照文件类型进行判断
多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一 条命令执行失败后,才执行下一条命令)、-eq 等于(equal) -ne 不等于(not equal)-lt 小于(less than) -le 小于等于(less equal)-gt 大于(greater than) -ge 大于等于(greater equal)注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。 -r 有读的权限(read)-w 有写的权限(write)-x 有执行的权限(execute)原创 2022-07-22 23:10:36 · 669 阅读 · 4 评论 -
Shell变量、系统预定义变量$HOME、$PWD、$SHELL、$USER、自定义变量、特殊变量$n、$#、$*、$@、$?、env看所有的全局变量值、set看所有变量
printenv他可打印全部或部分shell 环境、定义变量变量名=变量值,注意=号前后不能有空格、撤销变量unset 变量名、声明静态变量readonly 变量,注意不能 unset、在 bash 中,变量默认类型都是字符串类型,无法直接进行数值运算、变量的值如果有空格,需要使用双引号或单引号括起来、环境变量名建议大写、如果进行数值运算需要使用,需要使用shell中的运算符的表达、在vim里面""和''的区别、用vim输出全局变量和局部变量的区别.........原创 2022-07-22 19:39:23 · 1847 阅读 · 14 评论 -
Shell脚本的常用执行方式、bash 和 sh 的关系、子shell、Centos 默认的解析器是 bash、Linux 提供的 Shell 解析器、Shell 概述、Shell 脚本入门
采用 bash 或 sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限)、采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)、在脚本的路径前加上“.”或者 source(了解)原因: 前两种方式都是在当前 shell 中打开一个子 shell 来执行脚本内容,当脚本内容结束,则 子 shell 关闭,回到父 shell 中。第三种,也就是使用在脚本路径前加“.”或者 source 的方式,`可以使脚本内容在当前 shell 里执行,而无需打开子 shell!`这也是为什么我们每次要修改完原创 2022-07-21 18:35:35 · 1957 阅读 · 42 评论