shell
文章平均质量分 50
chen__yang_
我有足够的积累,又一直在路上,所以有无限的可能。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
shell脚本之AWK-AWK的模式
AWK的模式语法:awk [-F] 'pattern {action}' input_filename1 input_filename2 ……对上述代码进行解释:(1)-F为字段分隔符。若不指定,awk默认使用空格作为分隔符。(2)/pattern/和/action/需要使用单引号引起来,防止shell做解释。(3)/pattern/是可选项,如果不指定awk将处理输入文件中的所有记录,如果指定一个模式,awk则只处理匹配到的模式的记录。(4){action}为awk的命令,可以是单个命令,原创 2021-03-18 15:10:47 · 302 阅读 · 0 评论 -
shell脚本之AWK-AWK的变量和AWK运算符
一、AWK的变量二、AWK的运算符一、AWK变量每一门编程语言都会使用到变量,使用变量会让代码更加简洁,方便程序员编写,带来极大的便捷,AWK本身也是一门编程语言,所以它本身也有一些内置变量,方便使用,其中主要使用的是AWK的记录变量和数据变量。1.AWK的记录变量FS:(filed separator)读取文件时,所使用的分隔字段[root@bogon ~]# awk 'BEGIN {FS=":"}{print $1,$3}' /etc/passwd | head -3root 0原创 2021-03-16 17:58:09 · 1268 阅读 · 0 评论 -
shell脚本之AWK-AWK的标椎输出
AWK的输出awk的输出分为两种一种是print一种是printf,print代表普通输出,printf代表格式化输出。1.print输出1.1print输出格式print item1,item2 ...注:1.item之间用逗号隔开,在显示输出的时候则是以一个空白字符分隔2.输出的item可以为字符串或者数值、当前记录的字段(如$1)、变量或者是AWK表达式;数值会先转化成字符串,然后再输出。3.print命令后面的的item也可以省略,此时其功能相当于print $0,就原创 2021-03-16 14:22:32 · 512 阅读 · 1 评论 -
shell脚本之AWK-AWK的详细介绍
一、AWK简介二、AWK功能三、AWK的工作流程四、AWK程序执行五、AWK的基本语法原创 2021-03-16 11:27:36 · 1572 阅读 · 0 评论 -
shell脚本之sed精炼例题--让你更懂sed
例题1.请实现sed取不连续的行[root@bogon ~]# sed -n '1p;3p;5p' /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:2:2:daemon:/sbin:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin2.第一行到第五行后,替换reboot为shutdown[root@bogon ~]# sed -e '1,5d' -e '=' -e 's/root/c原创 2021-03-14 18:42:21 · 709 阅读 · 0 评论 -
shell脚本文本三剑客(sed)详解
1.sed命令介绍Linux sed 命令是利用脚本来处理文本文件,sed擅长行处理。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等sed命令是将一系列的编辑命令应用于一批文本的理想工具(文本三剑客之一),sed命令拥有非交互式和高效的特点,可以为用户节约大量时间。sed命令是一个非交互式的文本编辑器,他可以对来自文本文件以及标准输入的文本进行编辑,其中标椎输入可以是来自键盘,文件重定向,字符串,变量或者原创 2021-03-11 23:19:02 · 988 阅读 · 0 评论 -
shell脚本之文本三剑客(grep)详解
grepLinux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep:有三大家族成员(1):grep: 支持基本的正则表达式(2):egrep:支持扩展正则表达式(3):fgrep:不支持使用正则表达式1.grep语法用法: grep [选项]... PATTERN [FILE]...2.grep主要参数原创 2021-03-08 21:44:23 · 466 阅读 · 0 评论 -
shell脚本正则表达式案例
案例(1)显示/etc/passwd 文件中以bash结尾的行[root@bogon ~]# cat /etc/passwd | grep bash$root:x:0:0:root:/root:/bin/bash(2)找出/etc/passwd文件中的三位数或四位数[root@bogon ~]# grep '[0-9]\{3,4\}' /etc/passwdgames:x:12:100:games:/usr/games:/sbin/nologinnobody:x:65534:6553原创 2021-03-08 16:57:06 · 266 阅读 · 0 评论 -
shell脚本之正则表达式
正则表达式正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有相同特征的字符串,主要用于字符串处理,可以快速准确的完成复杂的查找,替换等处理要求。1.正则表达式的作用在程序设计过程中,用户会不可避免的遇到处理某些文本的情况。有的时候,用户还需要查找符合某些比较复杂的规则的字符串,或者是某些判断语句过程中会判断一个字符串是不是全数字,字母之类的情况,这时就可以通过正则表达式来简化我们的代码。2.基本的正则表达式基本正则表达式(basic regular e原创 2021-03-07 18:43:20 · 616 阅读 · 0 评论 -
shell脚本数组的经典案例
案例案例一:从标椎输入输入n次字符串,,每次输出的字符串保存在数组array里[root@bogon ~]# vim shuzu.sh#! /bin/bash i=0read -p "请输入次数" nwhile [ $i -lt $n ]do echo "请输入字符串!" read -p array[$i]= b=${array[$i]} echo "$b" i=`expr $i + 1`done原创 2021-03-07 14:42:19 · 413 阅读 · 0 评论 -
shell脚本之数组
数组1.数组的定义“数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。”2.定义一个数组(1)使用小括号将变量的值括起来赋值给数组变量,每个变量之间使用空格键间隔示例语法:array=(value1 varlue2 ...)[root@bogon ~]# array=(1 2 3 4 5)[root@bogon ~]# echo ${array[1]}2(2)使用小括号将变原创 2021-03-07 10:44:45 · 298 阅读 · 0 评论 -
shell脚本函数详解
函数在所有的程序设计类语言中,可以说函数的学习是必不可少的,在一门编程类语言当中学会使用函数,也是一个程序员最基本的知识储备,用好函数可以极大的简洁程序代码,方便阅读和理解,通常我们把函数看作是方法(解决某个问题的方法),一个函数具有其本身的功能,其功能对应解决某个问题,使用时直接调用。1.函数可以用来干什么可以把相同程序段作为一个函数,这样做可以减小代码量,提高使用速率。 增加程序段的可读性,提高管理效率。 将一个程序段定义成一个函数还可以实现程序功能模块原创 2021-03-06 20:56:10 · 438 阅读 · 0 评论 -
shell循环例题精选
案例案例一示例代码[root@bogon ~]# vim xunhuan.sh #! /bin/bash#编写一个shell脚本,它把第二个位置参数及以后的各个参数指定的文件复制到的第一个参数指定的目录中#分析: (1)至少要有两个位置参数 #(2)第一个位置参数为目录,后面都为文件 #(3)使用循环的方式将文件复制到指定目录if [ $# -ge 2 ]then #如果不存在则创建目录 [ -d $1 ] || mkdir -p $1 #原创 2021-03-06 10:30:42 · 927 阅读 · 0 评论 -
shell脚本循环控制语句
循环控制语句在shell程序设计语句中,有两个语句来控制循环的退出,分别是continue语句和break语句,前者用来跳过循环体当中的某些语句,继续下一次循环;后者表示立即退出循环。(1)continue语句:其作用是立即跳出某个循环结构;break语句常用于for、while、或者是until等循环结构中。(2)break语句:其作用是用来跳出本次循环,跳出后接着进行下次循环,直到循环结束为止。循环控制以及程序返回指令的使用表命令说明break n此语句如果省略n,则原创 2021-03-05 10:57:16 · 880 阅读 · 1 评论 -
shell嵌套循环经典案例
嵌套循环在众多的程序设计语言,嵌套循环是一种常见的结构,通过嵌套循环,可以完成更复杂的功能。案例一1.打印九九乘法表[root@bogon ~]# vim chengfabiao.sh#! /bin/bash for i in `seq 9`do for j in `seq 9` do [ $j -le $i ] && echo -n "$i*$j=`echo $(($i*$j))` `ech原创 2021-03-04 18:26:40 · 1239 阅读 · 1 评论 -
shell之until循环语句
until循环until语句的作用是将循环体重复执行,直到某个条件成立为止,使用until语句,可以到达事半功倍。until语句的基本语法until expressiondo statement1 statement2 ...done上述语法,expression是一个条件表达式。当该表达式的值不为0时,将执行do和done之间的语句;当expression的值为0时,将退出until循环结构,继续执行done后面的语句。案例 将创建的user01-use原创 2021-03-03 22:02:07 · 609 阅读 · 1 评论 -
shell之while循环
while循环while循环是一种常见的循环结构,我们在学习python,C等编程语言时都接触过此结构。使用while循环,可以使得用户重复执行一系列操作,直到某个条件的发生。while循环的基本语法while expressiondo statement1 statement2 ...done上述语法中,expression表示while循环语句执行时需要满足的条件。虽然此处可以使用任意合法的shell命令。但是通常情况下,expression代表一个测试表达式,与其他循环原创 2021-03-03 19:03:19 · 3734 阅读 · 1 评论 -
shell流程控制for循环经典面试题
编写一个shell脚本,判断当前网络(假设为192.168.150.0/24)里,查看当前在线用户IP有哪些。#! /bin/bash for ((i=1;i<=254;i++))do if ping -c 2 -w 1 192.168.150.$i &>/dev/null then echo "192.168.150.$i is pong!" else echo "原创 2021-03-03 16:53:48 · 401 阅读 · 2 评论 -
shell流程控制之for循环
循环for循环:在编程语言中,我们会涉及许多重复使用的代码块,为了简化代码,方便使用,就会使用循环语句来实现,重复代码的调用。shell中for循环有三种使用方法:(1)带列表的for循环(2)不带列表的for循环(3)类似C风格的for循环1.带列表的for循环**使用范围:**通常用于已知循环次数的for循环:其语法是:for 循环变量 in {list(列表)}do statement1 statement2 ...done注:list是一个列表,可以是一系列原创 2021-03-03 16:37:19 · 550 阅读 · 0 评论 -
shell使用case语句实现编写菜单
shell中的case语句适合用来编写菜单,通过两个案例体现:原创 2021-03-02 16:56:16 · 2693 阅读 · 0 评论 -
shell编程case详解(十二)
1.case语句的语法case 变量名 in 值1) 指令1 ;; 值2) 指令2 ;; 值3) 指令3 ;; *) 默认 esac案例一:#编写脚本,输入一个符号判断其为数字,字母或者为其他符号#! /bin/bash原创 2021-03-02 16:36:58 · 634 阅读 · 0 评论 -
shell流程控制经典案例
案例一:#! /bin/bash #写一个脚本,给定一个用户,判断其UID和GID是否一样,如果一样就显示该用户“good user”#分析:此题考查UID和GID的获取方法read -p "请输入一个用户名:" usersuser_UID=$(id -u $users)user_GID=$(id -g $users)if [ "$user_UID" == "$user_GID" ]then echo "good user"else echo "b原创 2021-03-01 19:45:19 · 192 阅读 · 0 评论 -
shell流程控制(多分支案例)十一
多分支案例案例一:两个整数比较大小。条件:输入两个数字(必须是数字)脚本程序:#! /bin/bash read -p "请输入两个数字" num1 num2if [ $num1 -gt $num2 ]then echo "$num1>$num2"elif [ $num1 -lt $num2 ]then echo "$num1<$num2"else echo "$num1=$num2"fi结果:[root@loca原创 2021-03-01 10:30:57 · 226 阅读 · 0 评论 -
shell流程控制 (条件判断双分支案例)十
1.双分支结构案例1.1判断数字大于500则执行big.sh,小于等于500则退出脚本,并输出报错信息。#! /bin/bashread -p "请输入一个数字:"numif [ $num -gt 500 ]then sh big.shelse echo "$num小于等于500" exit 3fi 添加执行权限,并执行[root@localhost ~]# vim ceshi1.sh[root@localhost ~]# c原创 2021-02-23 15:55:32 · 303 阅读 · 0 评论 -
shell流程控制笔试题
编写一个shell脚本,判断某一个服务是否运行,如果该服务不存在,安装后启动该服务。判断此题的侧重点:(1)考察脚本编写能力(2)核心在于判断进程是否运行的方式方式一:查看进程#! /bin/bash read -p "请输入服务名称" service_namevar=$(ps -elf | grep $service_name | grep -v grep | wc -l)echo $var#判断服务进程个数,当进程个数等于0时,说明没有启动服务,当进程大于0时,说明该服务已启动。原创 2021-02-23 15:12:31 · 426 阅读 · 0 评论 -
shell流程控制(条件判断单分支)九
流程控制之条件判断条件判断语句在所有语句中都存在,是一种最简单的流程控制语句。该语句使得程序根据不同条件来执行不同的程序分支,极大地方便了shell在程序判断中的使用。1.if条件语句的语法if条件语句分为多种结构,有单分支结构,双分支结构,多分支结构(1)单分支结构语法语法一:if <条件表达式>then 指令fi语法二:if <条件表达式>;then 指令fi(2)双分支结构语法if <条件表达式>th原创 2021-02-22 16:32:35 · 252 阅读 · 0 评论 -
shell 条件测试(八)
前言:为了能够正确方便的处理shell程序,Linux shell提供了一组测试运算符。通过这些运算符,shell程序能够判断某些条件是否满足条件。条件测试语句在shell判断语句中和循环语句中起到非常重要的作用。1. 条件测试的基本语法在shell程序中,用户可以使用测试语句来测试指定条件表达式的条件的真或假。当指定条件为真值之时,整个条件测试结果为0,反之,如果指定条件为假时,其条件测试结果为非0值。语法:格式一:test 条件表达式 #使用test命令进行条件测试表达式的方法,原创 2021-02-06 12:05:01 · 1961 阅读 · 0 评论 -
shell变量的运算(七)
变量的运算原创 2021-01-06 15:23:22 · 1784 阅读 · 0 评论 -
shell变量的作用域(全局和局部变量)(六)
变量的作用域Shell 变量的作用域,就是 Shell 变量的有效范围(可以使用的范围)。在不同的作用域中,同名的变量不会相互干涉。 有的变量可以在当前 Shell 会话中使用,这叫做全局变量(global variable); 有的变量只能在函数内部使用,这叫做局部变量(local variable);1.全局变量所谓全局变量,就是指变量在当前的整个 Shell 会话中都有效。每个 Shell 会话都有自己的作用域,彼此之间互不影响。在 Shell中定义的变量,默认就是全局变量,其作用域为从变原创 2021-01-05 22:03:28 · 2146 阅读 · 0 评论 -
shell脚本变量的赋值--面试点(五)
变量的赋值1.变量的赋值面试点:变量赋值的五种方法(1)显示赋值(直接赋值)简单实例:[root@bogon ~]# ip=192.168.150.128[root@bogon ~]# echo $ip192.168.150.128[root@bogon ~]# name=chenchen[root@bogon ~]# echo $namechenchen(2)使用read命令赋值#! /bin/bashread -p "请输入一个变量值:" hostnameecho $ho原创 2021-01-05 21:30:42 · 5161 阅读 · 0 评论 -
shell脚本详解,位置变量和预定义变量(四)
位置变量和预定义变量1.位置变量执行Linux命令或Shell 脚本时可以带有参数。相应地,在Shell脚本中应有变量。执行Shell程序时,用实参去替代这些变量。在Shell脚本中这类变量的名称很特别,分别是0、1、2……这类变量称作位置变量,因为它们与命令行上具体位置的实参相对应:命令名(脚本名)对应位置变量0,第一个实参对应位置变量1,第二个实参对应位置变量2……如果位置变量是由两个或更多个数字构成,那么,必须把它们用一对花括号括起来,如{10}、{11}。命令行实参与脚本中位置变量的对应关系原创 2021-01-05 11:29:20 · 1091 阅读 · 0 评论 -
shell脚本变量详解(三)
1.认识shell变量1.1什么是shell变量当你开始学习一门编程语言时,首先,你需要了解的就是此语言中的变量,变量就是程序设计语言中一个可以变化的量,当然,可变化的是变量的值。从本质上来讲,变量就是在程序中保存用户数据的一块内存空间,而变量名就是这块内存空间的地址。在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变。1.2变量的命名规则在shell中,变量名可由字母,数字或者下划线组成,并且只能由字母或者下划线开头。对于变量名的长度没有原创 2021-01-05 09:45:18 · 753 阅读 · 0 评论 -
认识shell脚本(一)
一.shell入门基础1.学习shell脚本的用途对于一个合格的系统管理员来说,学习和掌握Shell编程是非常重要的。可以在很大程度上简化日常的维护工作,使得管理员从简单的重复劳动中解脱出来。shell的特点:1).shell是一个解释性语言(Python也是),不需要编译等过程,它是从脚本程序中一行一行的读取并执行命令。2).相对于其他语言来说较为简单2.shell是什么shell(壳),又称之为命令解释器,是一种脚本语言,作用是当用户输入命令时,shell会将命令解析传递给内核,通过内.原创 2020-06-09 16:44:44 · 428 阅读 · 0 评论 -
shell脚本一些常用的基本特性(二)
bash的基本功能1、历史命令1)历史命令的查看[root@localhost ~]# history [选项] [历史命令保存文件][root@bogon ~]# help history history: history [-c] [-d 偏移量] [n] 或history -anrw [文件名] 或 history -ps 参数 [参数…]显示或操纵历史列表。带行号显示历史列表,将每个被修改的条目加上前缀 `*'。参数 N 会仅列出最后的 N 个条目。选项: -c 删除所有原创 2021-01-04 12:09:53 · 308 阅读 · 0 评论
分享