shell脚本
cat媛
。
展开
-
使用case的一个脚本
创建一个脚本,名为/root/foo.sh,提供以下特性:当运行 /root/foo.sh redhat ,输出为 fedora当运行 /root/foo.sh fedora ,输出为 redhat当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息: /root/foo.sh redhat | fedora第一步:创建脚本[root@system...原创 2019-05-15 01:02:51 · 267 阅读 · 0 评论 -
shell字符截取之cut、printf
!!!∑(゚Д゚ノ)ノψ(*`ー´)ψ(^_−)☆(✪ω✪)|ू・ω・)ლ(´ڡლ)好吃的.ψ(*`ー´)ψ!!!∑(゚Д゚ノ)ノ(✪ω✪)(•́へ•́╬)(•́へ•́╬)ψ(*`ー´)ψ!!!∑(゚Д゚ノ)ノ(^_−)☆(•́へ•́╬)ψ(*`ー´)ψψ(*`ー´)ψヽ(ー_ー)ノヽ(ー_ー)ノ(ಥ_ಥ) (•́へ•́╬)ヽ(ー_ー)ノ是的法定 的分公司电饭锅 水电费感受到 是的发个 是的发个 ...原创 2019-06-17 17:44:19 · 679 阅读 · 0 评论 -
shell编程之条件判断式语句
1.概述计算机不能主观去判断,只能靠人去告诉它,如果是这种情况,要怎么去做,另一种情况要怎么去做,这就有了条件判断式语句2.按照文件类型进行判断格式test 选项 /root/install.log或[选项 文件]选项-d:判断该文件是否存在,并且是否为目录文件-e:判断该文件是否存在-f:判断该文件是否存在,并且是否为普通文件-b:判断该文件是否存在,并且是否为块设备文...原创 2019-06-25 17:57:14 · 299 阅读 · 0 评论 -
shell流程控制之单分支if语句
1.格式if [ 条件判断式 ];then ##如果条件成立,执行下面的程序 程序fi ##if语句结束的标志或者if [ 条件判断式 ] then 程序fi2.注意if语句使用fi结尾[ 条件判断式 ]:中括号与条件判断式直接必须有空格3.练习1:判断登录用户是否是root[root@catyuan ~]# vim if1.sh#!/bin/ba...原创 2019-06-26 00:30:59 · 659 阅读 · 0 评论 -
shell流程控制之双分支if语句
1.格式if [ 条件判断式 ];then 条件成立时,执行的程序 else 条件不成立时,执行的语句fi2.练习3:判断输入的是否是一个目录[root@catyuan ~]# vim if3.sh#!/bin/bashread -t 30 -p "Please input dir:" dir #使用read命令创建一个键盘录入,等待30s,变量为dirif [ -d "$d...原创 2019-07-01 17:24:32 · 1647 阅读 · 0 评论 -
shell字符截取之awk命令
1. 命令格式awk '条件1{动作1} 条件2{动作2}...' 文件名条件一般使用关系表达式作为条件x>6:判断x是否大于6x>=6:是否大于等于6动作格式化输出流程控制语句(for循环、if语句)2. 练习:print与printf[root@catyuan ~]# vim studentid name age sex ...原创 2019-06-18 15:56:13 · 6782 阅读 · 0 评论 -
shell流程控制之多分支if语句
1.格式if [ 条件判断式1 ];then 当条件判断式1成立时,执行程序1elif [ 条件判断式2 ];then 当条件判断式2成立时,执行程序2........else 当所有条件都不成立时,最后执行此程序fi2.练习5:字符界面加减乘除的计算器思路1.有没有输入内容2.判断输入的内容是不是数值3.判断输入的运算符4.执行运算符操作脚本[root@cat...原创 2019-07-02 09:13:55 · 2214 阅读 · 0 评论 -
shell流程控制之多分支case语句
1. case与if…elif…else它们都是多分支条件句,不同的是,case语句只能判断一种条件关系,而if语句可以判断多种关系2. 格式case $变量名 in"值1") 如果变量的值等于值1,则执行程序1;;"值2") 如果变量的值等于值2,则执行程序2;;......*) 如果变量的值都不是以上的值,则执行此程序;;esac3. 练习1:判断用户输入脚本#!/b...原创 2019-07-02 10:00:26 · 1109 阅读 · 0 评论 -
shell流程控制之while循环
1. 概述条件循环,只要条件判断式成立,循环就一直继续,直到条件判断式不成立,循环才会停止。2. 语法while [ 条件判断式 ] do 程序 done3. 练习:从1加到100脚本[root@catyuan ~]# vim while1.sh#!/bin/bash#从1加到100i=1s=0while [ $i -le 100 ] #i的值小于等于100,就执...原创 2019-07-02 18:52:43 · 567 阅读 · 0 评论 -
shell流程控制之until循环
1. 概述与while循环正好相反,utile循环时,只要条件判断式不成立则进行循环。一旦条件成立,则终止2. 语法until [ 条件判断式 ] do 程序 done3. 练习:从1加到100脚本[root@catyuan ~]# vim until1.sh#!/bin/bash#从1加到100i=1s=0while [ $i -gt 100 ] #循环直到变量...原创 2019-07-02 18:58:42 · 236 阅读 · 0 评论 -
Shell基础四:bash基本功能之管道符、通配符
1、多命令顺序执行这些执行符都要是英文的多命令执行符格式作用;命令1;命令2按照顺序一个一个执行。某个命令报错,会忽略,继续执行下面的命令&&命令1&&命令2当命令1正确执行时,才会执行命令2 。||命令1||命令2当命令1执行错误时,会执行命令2。1正确则只执行1,不执行21.1.1 练习:执行符;[roo...原创 2019-06-05 00:53:22 · 531 阅读 · 0 评论 -
Shell基础三:bash基本功能之输出、输入重定向
1、标准输入输出设备设备文件名文件描述符类型键盘/dev/stdin0标准输入显示器/dev/sdtout1标准输出显示器/dev/sdterr2标准错误输出linux中一切皆文件,键盘、显示器都是文件,文件名如上文件描述符:0代表标准输入设备,1代表标准输出设备,2代表标准错误输出设备2、输出重定向把显示在屏幕中的内容保存到文件...原创 2019-06-04 23:36:08 · 406 阅读 · 0 评论 -
shell编程之bash变量、环境变量
1、什么是变量1.1 变量的定义通俗:可以变的量就是变量。如:X=10,X=100,X先等于10,后等于100,这个X就是一个变量1.2 变量的命名规则以字母和下划线开头的,中间的只能由字母、数字下划线组成变量名在有效的范围内必须唯一在bash中,变量的默认类型都是字符串类型命名必须有含义,方便查看。如:名字为name1.3 变量的分类用户自定义变量:变量是自定义的环境...原创 2019-06-06 02:10:13 · 2497 阅读 · 0 评论 -
shell编程之接受键盘录入(read命令)
1.命令read 【选项】【变量名】选项-p 在等待read输入时,输出提示信息-t 秒数:read命令会一直等用户输入,使用此选项可以指定等待时间-n 字符数:read命令只接受指定的字符数,就会执行-s 隐藏输入的数据,适用于机密信息的输入2.练习:2.1 -p 选项[root@catyuan ~]# vim /root/read.sh#!/bin/bashread ...原创 2019-06-06 02:32:29 · 1723 阅读 · 0 评论 -
shell编程之环境变量配置和文件
1、环境配置文件简介1.1 source命令环境变量改变后,使用这个命令,使配置文件直接生效,无需重启linux系统source 配置文件. 配置文件1.2 环境变量配置文件简介PATH、HISTORY、PS1HOSTHOME等环境变量写入对应的环境变量配置文件环境变量的配置文件中主要定义对操作系统环境生效的系统默认环境变量(开启就调用生效),如:PATH1.3 常用的环境变量...原创 2019-06-07 02:34:16 · 177 阅读 · 0 评论 -
shell编程之运算符
1、declare命令声明变量类型,shell中默认的变量类型是字符串类型declare 【+/-】【选项】变量名+:给变量设定类型属性-:取消变量的类型属性-a:将变量声明为数组型-i:将变量声明为整数型-X:将变量声明为环境变量-r:将变量声明为只读变量 -p:显示指定变量的被声明的类型1.1 练习:把变量声明为整数型[root@catyuan ~]# a=1[roo...原创 2019-06-08 23:53:18 · 224 阅读 · 0 评论 -
shell编程之正则表达式
1、正则表达式的作用通俗:用于字符串的模式分割、匹配、查找及替换官方:正则表达式是用于描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换操作2、正则表达式与通配符2.1 通配符* 匹配任意内容? 匹配任意一个内容[] 匹配中括号中的一个字符练习:*[root@catyuan ~]# ls t*test1.log test1.sh test...原创 2019-06-09 20:53:29 · 900 阅读 · 0 评论 -
字符替换之sed命令
1. sed命令主要是用来将数据进行选取、替换、删除、新增的sed命令格式sed 【选项】'【动作】' 文件名常用选项-n:一般sed命令会把所有的数据输出到屏幕,加入中国选项后只会把经过sed命令处理的行输出-e:允许对输入数据应用多条sed命令编辑-i:用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出动作a:追加,在当前行后添加一行或多行c:行替换,用c后面...原创 2019-06-20 02:37:43 · 551 阅读 · 0 评论 -
字符处理命令之sort、wc
1、sort命令:排序格式sort 【选项】 文件名选项-f:忽略大小写-n:以数值型进行排序,默认使用字符串型(字母)排序-r:反向排序-t:指定分隔符,默认分隔符为制表符-k n[,m]:按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾)2、wc命令:统计格式wc 【选项】 文件名选项-l:只统计行数-w:只统计单词数-m:只统计字符数...原创 2019-06-20 02:46:44 · 156 阅读 · 0 评论 -
Shell基础一:概述、脚本执行方式
一、shell概述1.shell定义通俗:linux的操作字符界面就是shell,我们在这个界面输入命令,shell通过ASCII表来翻译成0101代码,传递给内核,然后由内核来调用硬件处理。处理完成之后,在通过shell,返回给用户,输出结果。我们也可以自己去编写shell。官方:shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统级别程序,用...原创 2019-06-04 20:55:33 · 241 阅读 · 0 评论 -
Shell基础二:bash基本功能之命令别名、快捷键、历史命令
1、命令别名1.1 查看系统中的别名alias 1.1.1 练习:查看系统中的别名[root@catyuan ~]# aliasalias cp='cp -i'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l.='ls -d ...原创 2019-06-04 22:00:58 · 194 阅读 · 0 评论 -
shell流程控制之for循环
1. 语法for 变量 in 值1 值2 值3... do 程序 done或者2. 练习1:循环打印1-5[root@catyuan ~]# vim for1.sh#!/bin/bashfor i in 1 2 3 4 5 do echo $i done测试脚本[root@catyuan ~]# ch...原创 2019-07-02 19:25:27 · 789 阅读 · 0 评论