![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell编程
文章平均质量分 53
小枫呀
这个作者很懒,什么都没留下…
展开
-
shell编程-进程锁
进程锁防止进程被重复运行[root@aliyun ~]# cat lock.sh #!/bin/bashlock_file=/tmp/echo1.lock#判断进程是否正在运行if [ -f $lock_file ];then pid=`cat $lock_file` ps $pid &>/dev/null [ $? -eq 0 ] && echo "Script1 is running..." && exit 1 #if [ $? -eq原创 2021-05-29 01:15:13 · 332 阅读 · 0 评论 -
shell编程-system管理脚本
systemctl管理脚本一 介绍systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分1、/usr/lib/systemd/system #系统服务,开机不需要登陆就能运行的程序(相当于开启自启)2、/usr/lib/systemd/user #用户服务,需要登录后才能运行的程序/usr/lib/systemd/目录下又存在两种类型的文件:1、*.service # 服务unit文件2、*.target # 开机级别unitc转载 2021-05-29 01:14:32 · 498 阅读 · 0 评论 -
shell编程-awk命令
三剑客之awk命令一 awk简介 awk命名源自于它的三大作者名字的首字母,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。(gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展)。 awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作转载 2021-05-29 01:13:22 · 553 阅读 · 0 评论 -
shell编程-sed命令
三剑客之sed命令一 sed介绍 sed全称(stream editor)流式编辑器,Sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等,工作流程如下sed 是一种在线的、非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出,或者使转载 2021-05-28 00:18:48 · 473 阅读 · 0 评论 -
shell编程-grep命令
三剑客之grep命令一 grep介绍grep命令主要用于过滤文本,grep家族如下grep: 在文件中全局查找指定的正则表达式,并打印所有包含该表达式的行egrep:扩展的egrep,支持更多的正则表达式元字符fgrep:固定grep(fixed grep),有时也被称作快速(fast grep),它按字面解释所有的字符grep命令格式如下grep [选项] PATTERN 文件1 文件2 ...[root@egon ~]# grep 'root' /etc/passwd[root@e转载 2021-05-28 00:16:37 · 1247 阅读 · 0 评论 -
shell编程-expect
expect一 expect介绍 expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。需要安装yum install -y expectexpect基础在使用expect时,基本上都是和以下四个命令打交道:命令作用spawn启动新的进程expect从进程接收字符串send用于向进程发送字符串interact允许用户交互spawn命令用来启动新的进程,sp转载 2021-05-28 00:14:03 · 181 阅读 · 0 评论 -
shell编程-信号处理
信号控制一 信号说明在脚本执行过程中, 可能会被一些键盘操作快捷方式所打断, 影响脚本运行# HUP(1): 1、挂起信号 2、往往可以让进程重新加载配置本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都 属于这个 Session。当用户退出Linux登录时,前台进程组和后转载 2021-05-28 00:12:18 · 255 阅读 · 0 评论 -
shell编程-数组
数组一 数组介绍什么是数组?数组就是一系列元素的集合,一个数组内可以存放多个元素为何要用数组?我们可以用数组将多个元素汇总到一起,避免单独定义的麻烦二 数组的使用2.1 数组的定义# 方式一:array=(元素1 元素2 元素3)array=(egon 18 male)# 方式二:array=([key1]=value1 [key2]=value2 [key3]=value3)array=([0]=111 [1]="two" [2]=333)# 方式三:依次赋值array_原创 2021-05-28 00:06:36 · 181 阅读 · 0 评论 -
shell编程-函数
函数一 函数介绍什么是函数???函数就是用来盛放一组代码的容器,函数内的一组代码完成一个特定的功能,称之为一组代码块,调用函数便可触发函数内代码块的运行,这可以实现代码的复用,所以函数又可以称之为一个工具为何要用函数#1、减少代码冗余#2、提升代码的组织结构性、可读性#3、增强扩展性二 函数的基本使用具备某一功能的工具=>函数事先准备好哦工具=>函数的定义遇到应用场景,拿来就用=>函数的调用所以函数的使用原则:先定义,后调用定义函数#语法:[ func转载 2021-05-28 00:05:13 · 255 阅读 · 0 评论 -
shell编程-流程控制select语句
流程控制之select语句一 语法select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择select var in ...do ... breakdone二 案例案例1:[root@egon /]# cat select.sh #!/bin/bashPS3='choose one: ' # select默认使用PS3变量的值做提示符echoselect var in {A..D}do echo echo "your原创 2021-05-28 00:03:03 · 192 阅读 · 0 评论 -
shell编程-for循环
流程控制之for循环一 语法#===========》Shell风格语法for 变量名 [ in 取值列表 ]do 循环体done#===========》C语言风格语法for ((初值;条件;步长))do 循环体doneshell风格的for,常用in列表方式for i in 1 2 3for i in {1,2,3}for i in {1..9}for i in {9..1}for i in {a..z}for i in {A..Z}for i in {X..原创 2021-05-28 00:01:43 · 521 阅读 · 0 评论 -
shell编程-while循环
流程控制之while循环一 语法# 一、while语句结构:条件为真时,执行循环体代码while 条件do 循环体done# 二、until语法结构:条件为假时,一直执行循环体代码,直到条件变为真until 条件do 循环体done简单示例[root@aliyun test]# cat a.sh #!/bin/bashx=0while (($x < 3))do echo $x let x++doneecho "===============转载 2021-05-28 00:00:35 · 200 阅读 · 0 评论 -
shell编程-case语句
流程控制之case语句一 语法case 变量 in+模式1) 命令序列1 ;;模式2) 命令序列2 ;;模式3) 命令序列3 ;;*) 无匹配后命令序列esac二 案例案例1#!/bin/bashread -p "username: " -t 5 usernameechoif [ -z $username ];then username="default"ficase $username inroot) echo "管理员用户" ;;转载 2021-05-27 23:54:18 · 178 阅读 · 0 评论 -
shell编程-if判断
流程控制之if判断一:单分支if语法if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ...fi上述语法可以用一行代码代替[ 条件信息 ] && xxx示例[root@egon test]# cat disk_monitor.sh #!/usr/bin/env bashdisk_use=$(df -P |grep '/$' |awk '{print $5}' |awk -F% '{print $1}')if [ $d原创 2021-05-27 23:48:31 · 306 阅读 · 0 评论 -
shell编程-元字符
元字符元字符指的是能够被shell解释的特殊字符,每个特殊字符都有其特殊含义,这些字符一方面可用于变量值的运算、我们可以称之为运算符,另外一方面可以和shell命令配合使用来达到更高级的效果一 算数运算符运算符加 +减 -乘 *除 /%算数运算符需要配合下述操作使用# 浮点运算bc # 整数运算expr$(())$[]let详解如下1、bc是比较常用的linux计算工具了,而且支持浮点运算[root@localhost ~]#原创 2021-05-27 23:39:33 · 258 阅读 · 0 评论 -
shell编程-基本数据类型与变量值操作
基本数据类型与值操作一 数据类型介绍什么是数据?为何要有多种类型的数据?数据即变量的值,如age=18,18则是我们保存的数据。变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识shell是一门解释型、弱类型、动态语言概括地说,编程语言的划分方式有以下三种1、编译型or解释型2、强类型or弱类型 2.1 强类型语言: 数据类型不可以被忽略的语言 即变量的数据类型一旦被定义,那就不会再改变,除非进行强转。 在python中原创 2021-05-27 23:20:04 · 308 阅读 · 0 评论 -
shell编程-变量
变量一 变量介绍什么是变量?量指的是记录事物的状态变指的是事物的状态是可以发生变化的变量本质就是一种数据存取的机制,变量的数据都是存放于内存中的为何要有变量?程序运行的本质就是一系列状态的变化,程序=数据+功能,程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。# 比如: 英雄的等级为1,打怪升级(变)为10 僵尸的存活状态True,被植物打死了,于是变为False 人的名字原创 2021-05-27 22:51:43 · 129 阅读 · 0 评论 -
shell编程-基础
shell基础一 编程与编程语言Shell是一门编程语言,作为学习shell的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的:计算机的发明,是为了用机器取代/解放人力。而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机。从而达到让计算机能够像人脑/电脑一样自动执行的效果。 什么是编程语言?# 上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质。在编程的原创 2021-05-27 13:27:57 · 220 阅读 · 0 评论