![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
shell编程
shell编程入门学习
weixin_43384009
抓住每次可以学习的机会
展开
-
shell编程----数组
目录标题1. 数组2. array的定义方法3. 对数组的操作1. 数组 shell数组元素的下标从0开始计数,获取数组中的元素要使用下标[],下标可以是一个整数,也可以是一个结果为整数的表达式,当然,下标必须大于等于0。常用的bash shell只支持一维数组,不支持多维数组。 shell数组的定义,用括号()来表示数组,数组元素之间用空格来分隔。由此,定义数组形式为:array_n...原创 2020-02-14 20:36:02 · 150 阅读 · 0 评论 -
shell编程----服务的监控脚本
目录标题1. 检测端口命令2. 远程服务器检测本地端口3. 对服务进程或进程数进行监控(适合本地服务器)4. 开发监控mysql数据库的脚本监控数据库的shell脚本经典案例安装mysql,和开启mysql服务yum install mariadb-server -ysystemctl start mariadbfirewall-cmd --add-service=mysql1. ...原创 2020-02-17 12:54:29 · 214 阅读 · 0 评论 -
shell编程----服务启动脚本的编写
目录标题1. nginx的安装和使用2. nginx服务开启和停止脚本1. nginx的安装和使用nginx的安装tar zxf nginx-1.17.8.tar.gz cd nginx-1.17.8/yum install gcc openssl-devel pcre-devel zlib -y./configure --prefix=/usr/local/nginxmake &...原创 2020-02-17 12:45:04 · 146 阅读 · 0 评论 -
shell编程----系统文件加密
目录标题系统文件加密脚本建立测试数据[root@localhost shell]# mkdir /var/html/www -p[root@localhost shell]# cp -a /etc/a* /var/html/www/[root@localhost shell]# cp -a /etc/b* /var/html/www/[root@localhost shell]# ls...原创 2020-02-16 17:41:05 · 211 阅读 · 0 评论 -
shell编程----md5sum命令和Linux系统产生随机数的方法
目录标题1. md5sum2. Linux系统产生随机数的方法3. shell脚本随机数实战案例1. md5sum 在网络传输,设备只见转存,复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的, md5sum命令用于生成和校验文件的md5值。它会逐位对文件的内容进行校验。是对文件的内容校验,而不是文件名...原创 2020-02-16 17:35:52 · 390 阅读 · 0 评论 -
shell编程----awk
目录标题1. awk2. awk模式匹配3. 记录和域4. 关系和布尔运算符5. 表达式6. 系统变量7. 格式输出8. 内置函数练习1. awk 正则表达式的扩展,awk、perl等支持正则表达式扩展出来的一些元字符。扩展的正则表达式元字符及其意义符号意义?匹配0个或1个在其之前的那个普通字符+匹配1个或多个在其之前的那个普通字符()表示一个字符...原创 2020-02-16 12:33:11 · 156 阅读 · 0 评论 -
shell编程----sed
目录标题1. sed2. 替换3. 替换字符4. 替换命令5. 练习题1. sed sed:stream editor(行编辑器),是一种在线编辑器,它一次处理以行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed编辑命令处理缓冲区的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。 我们之前...原创 2020-02-16 11:48:06 · 341 阅读 · 0 评论 -
shell编程----grep
目录标题grep命令grep命令 grep的全称global search regular expression andprint out the linx(全球搜索研究正则表达式并显示出来)。 作用:grep命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文件进行匹配检索,打印匹配到的行。”,模式”是由正则表达式或者字符及基本文本字符所编写的过滤条件。grep命令选项及其...原创 2020-02-14 21:01:42 · 125 阅读 · 0 评论 -
shell编程----环境变量
目录标题1. 什么是环境变量?2. 常用的环境变量1. 什么是环境变量? 环境变量也称为全局变量,可以分为自定义环境变量和bash内置的环境变量,环境变量可以在命令行中设置和创建,用户退出命令行时这些变量值就会丢失,想要永久保存环境变量,可写在文件中。 全局文件为/etc/profile,对所有用户有效;用户文件为~/.bash_profile仅对指定用户有效。 用户环境变量配置:...原创 2020-02-14 19:52:27 · 232 阅读 · 0 评论 -
shell编程----正则表达式
目录标题1. 正则表达式1. 正则表达式linux shell以一串字符作为表达式向系统传达意思,元字符是用来阐释字符表达意义的字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容,转换以及各中操作信息进行描述,正则表达式是由一串字符和元字符构成的字符串,正则表达式的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。插图基本的正则表达式元组副集合及意义...原创 2020-02-14 19:39:50 · 226 阅读 · 0 评论 -
shell编程----常用命令
目录标题1. diff和patch命令2. cut命令3. sort命令4. uniq命令5. seq命令6. join命令7. tr命令7. xargs命令1. diff和patch命令diff通常比较文件的内容,patch常用来打补丁< 表示第一个文件中的内容> 表示第二个文件中的内容a—表示添加addc—表示更改changed—表示删除delete使用方法:d...原创 2020-02-14 19:33:44 · 182 阅读 · 0 评论 -
shell编程----select语句
目录标题select语句select语句 select in 循环用来增强交互性,它可以显示出带编码的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。select in是shell独有的一种循环,非常适合终端这样的交互场景,c语言、c++、java、pytho、c#等其他编程语言中时没有的。select in循环的用法如下:select variable in valu...原创 2020-02-14 18:37:02 · 172 阅读 · 0 评论 -
shell编程----case语句
目录标题1. case语句2. case-in和正则表达式1. case语句基本格式为:case expression inpattern1) statement1 ;;pattern2) statement2 ;;....*) statementesac expression即可以是一个变量、一个数字、一个字符串,还可以是一个数学计算表达式,或者是命令的执行结果...原创 2020-02-14 18:33:07 · 170 阅读 · 0 评论 -
shell编程----for语句
目录标题1. for语句1. for语句for循环的两种形式:第一种:c语言风格的for循环for((exp1;exp2;exp3))do statementsdone 说明:exp1、exp2、exp3是三个表达式,其中exp2是判断条件,for循环根据exp2的结果来决定是否继续下一次循环;statements是循环体语句,可以有一条,也可以有多条;do和done是she...原创 2020-02-14 18:26:59 · 120 阅读 · 0 评论 -
shell编程----while和until循环
目录标题if-while语句if-while语句 while循环是shell脚本中最简单的一种循环,当条件满足时,while重复地执行一组语句;当条件不满足时,就退出while循环。shell while循环的用法如下:while conditiondostatementsdone condition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有...原创 2020-02-14 17:41:54 · 306 阅读 · 0 评论 -
shell编程----if-test
目录标题1. if-test2. test的数值比较3. test的字符串比较4. 文件比较5. 复合条件测试6. if-then的高级特性1. if-test test是shell内置命令,用来检测某个条件是否成立。test通常和if语句一起使用,并且大部分if语句都依赖test。 test命令有很多选项,可以进行数值、字符串和文件三个方面的检测。 shell test 命令的用...原创 2020-02-14 17:29:45 · 469 阅读 · 0 评论 -
shell编程----if语句
目录标题1. if语句2. if-else语句3. if-elif-else语句1. if语句if语句形式:If conditionthenstatement(s)fiIf condition;then statement(s)fi请注意condition后面的分号;,当if和then位于同一行时候,这个分号是必须的,否则会有语法错误。#!/bin/bashuser...原创 2020-02-14 17:02:48 · 118 阅读 · 0 评论 -
shell编程----函数
目录标题1. shell定义1. shell定义 Shell函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调用即可。 Shell中的函数和c++、java、python、c#等其它编程语言中的函数类似,只是在语法细节有所差别。Shell函数定义的语法格式如下:Function name(){Statements[return val...原创 2020-02-14 16:55:25 · 166 阅读 · 0 评论 -
shell学习06:shell常用命令
目录标题1. echo2. read3. alias1. echo[kiosk@foundation60 echo]$ cat 01.sh #!/bin/bashname='Tom'age=20height=180weight=70echo -n "${name} is ${age} years old," # -n:表示不换行echo -n "${height}cm in h...原创 2020-01-31 22:25:17 · 103 阅读 · 0 评论 -
shell学习05:shell特殊参数、shell字符串
目录标题[kiosk@foundation60 shell特殊参数]$ cat 01.sh #!/bin/bashecho $1,$2[kiosk@foundation60 shell特殊参数]$ sh 01.sh zjy hahazjy,haha[kiosk@foundation60 shell特殊参数]$ echo \${1..15}$1 $2 $3 $4 $5 $6 $7 ...原创 2020-01-31 22:25:11 · 370 阅读 · 0 评论 -
shell学习04:命令的替换、数学计算
目录标题1. 命令的替换2. 数学计算1. 命令的替换命令替换的两种方式:反引号(` )$( )[kiosk@foundation60 shell命令的替换]$ cat 01.sh#!/bin/bashbegin_time=`date`sleep 10sfinish_time=$(date)echo "Begin time: $begin_time"echo "Fin...原创 2020-01-31 22:25:00 · 102 阅读 · 0 评论 -
shell学习03:定义变量
目录标题1. 变量输出2. 将文件赋值给变量3. 定义变量类型1. 变量输出使用一个定义的变量,只要在变量名前面加美元符号$即可;[kiosk@foundation60 定义变量]$ cat 01.sh #!/bin/bashurl=http://www.westos.orgecho $urlname='西部开源'echo $nameauthor="westos-dd"ech...原创 2020-01-31 22:24:46 · 112 阅读 · 0 评论 -
shell学习02:shell脚本的执行
目录标题运行shell脚本的两种方法运行shell脚本的两种方法在新进程中运行;在当前shell进程中运行。#!/bin/bashecho "What is your name ?"read presonecho "hello, $preson"#!/bin/bashecho "hello"# 在当前shell中运行[kiosk@foundation60 she...原创 2020-01-31 22:24:19 · 133 阅读 · 0 评论 -
shell学习01:什么是shell?
目录标题1. shell是什么?2. shell是如何连接用户和内核的?3. 编译性语言和解释性语言4. 第一个shell脚本1. shell是什么? 现在我们使用的操作系统(Windows、Mac OS、Android、IOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网关等)和普通用户(老年人等)都非常适用;计算机的普及离不开图形界面。然而载计算机的早期并没有图形界...原创 2020-01-30 20:21:58 · 127 阅读 · 0 评论