输入数字执行命令输入1执行date命令输入2执行ls命令可以使用case判断#!/bin/bashecho"cmdmanu1date2ls3pwd"read-p"pleaseinputanumber;"nif[-z$n]thenecho"shuruyigeshuzi"exitfin1=echo$n|sed's/[0-9]//g&#
原创 2019-01-04 20:58:16
523阅读
shell基础
原创 2019-01-04 13:47:16
560阅读
awk命令-F指定分段符,若不指定分隔符默认以空格空白为分隔符awk-F':''{print$1,$3}'file打印第一段,第三段awk-F':''{print$0}'file打印全段awk'/word/'file打印包含word的行awk-F':''{print$1"#"
原创 2018-12-21 19:07:35
426阅读
shell编程shell是一种编程语言,可以使用逻辑判断,循环等语法。可以自定义函数。shell是系统命令的集合。shell脚本意识实现自动化运维,提高工作效率。shell脚本的结构和执行1.开头要使用#!/bin/bash——文件头,已什么解释器执行2.#开头为解释说明3.脚本以.sh结尾,用于区分这是一个shell脚本。有两种脚本执行方式1bashfile.sh2chmod+xfile.sh;
原创 2018-12-24 19:18:34
393阅读
1.以日期格式(xxxx-xx-xx)每日生成一个文件,例如生成的文件名为2019-01-02.log,并且把磁盘的使用情况写到到这个文件中,不用考虑cron,仅仅写脚本即可#!/bin/bashd=date+%Fdisklogfile=$d.logdf-h>$disklogfile#!/bin/bashd=date+%Fdir=/data/logs/disklogif[!-d$dir]th
原创 2019-01-02 21:29:22
417阅读
写个shell,看看你的Linux系统中是否有自定义用户(普通用户),若是有,一共有几个?#!/bin/bashv=awk-F'release''{print$2}'/etc/redhat-release|cut-d"."-f1panduan(){if[$1-eq0]thenecho"meiyouzidingyiyonghu"
原创 2019-01-07 19:15:29
525阅读
假设,当前MySQL服务的root密码为123456,写脚本检测MySQL服务是否正常(比如,可以正常进入mysql执行showprocesslist),并检测一下当前的MySQL服务是主还是从,如果是从,请判断它的主从服务是否异常。如果是主,则不需要做什么。#!/bin/bashmysql="/usr/local/mysql/bin/mysql-uroot-p123456"i
原创 2019-01-09 21:16:23
421阅读
编写一个问候程序,它执行时能根据系统当前的时间向用户输出问候信息。假设从半夜到中午为早晨,中午到下午六点为下午,下午六点到半夜为晚上。!/bin/bashd=date+%Hif[$d-ge0-a$d-lt7]#-a表示并且thentag=1elif[$d-ge7-a$d-lt12]thentag=2elif[$d-ge12-a$d-lt18]thentag=3elsetag=4ficase$tag
原创 2019-01-14 20:31:44
307阅读
写一个getinterface.sh脚本可以接受选项[i,I],完成下面任务:1)使用格式:getinterface.sh[-iinterface|-Iip]2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项时,显示其指定ip所属的网卡。例:shgetinterface.sh-ieth0或者shgetinterface.sh-I192.168.0.13)当用户使用除[-i|-I]
原创 2019-01-15 21:39:36
508阅读
写一个shell脚本,通过curl-I返回的状态码来判定所访问的网站是否正常。比如,当状态码为200时,才算正常。#!/bin/bashurl="http://www.baidu.com"mail_user=123@qq.comcode=curl-I$url2>/tmp/curl.err|head-1|awk'{$2}'if[-z"$code&q
原创 2019-01-16 19:15:28
363阅读
判断所给目录内哪些二级目录下有没有text.txt文件。有text.txt文件的二级目录,计算出该test.txt文件里面所给出单词的次数。假如脚本名字为1.sh,运行脚本的格式为./1.sh123root,其中123为目录名字,而root为要计算数量的单词#!/bin/bashif[$#-ne2]thenecho"请提供两个参数,第一个参数是目录名字,第二个参数是单词"exi
原创 2019-01-22 20:32:46
446阅读
1.shell基础介绍shell是一个命令解释器。人机交互有特定的语法forifwhile等centos7中默认shell为bash,但也有ksh,zsh等shell2.命令历史history查看命令历史记录,默认为1000条记录。可以通过修改/etc/profile中HISTESIZE调整命令历史记录数,修改过后执行source/etc/profile后生效。history-c清空内存中历史命令
原创 2018-12-17 20:35:41
394阅读
6.管道符号与作业控制管道符|把左边命令输出结果交给右边执行。cat/etc/passwd|grep-iroot列出passwd中包含root的行。作业控制Ctrl+z暂停任务执行;command&把命令放在后台执行;jobs查看后台运行的任务;fgid把对应id的任务调回至前台运行;bgid把对应id的任务放在后台运行7-8.shell变量env查看系统内置环境变量;set查看系统环境变
原创 2018-12-18 16:16:02
408阅读
10.特殊字符任意个任意字符?任意一个字符#注释字符\脱义字符|管道符$变量前缀!$正则中表示行尾;多条命令写在一行执行~用户家目录,在正则中表示匹配&把命令放在后台运行command&<输入重定向,>输出重定向,>>输出追加重定向,2>错误重定向,2>>错误追加重定向,&>正确错误重定向,&>>正确错误追
原创 2018-12-19 11:52:07
319阅读
while循环语法while条件;do......;done举例1#!/bin/bashwhile:#冒号表示死循环等同于whiletruedoload=w|head-1|awk-F'loadaverage:''{print$2}'|cut-d.-f1#将w命令输出第一行,已loadaverage:为分隔符输出第二段,并将输出内容已“.”为分隔符截取第一段输出,将其
原创 2018-12-26 16:20:45
293阅读
shell中的函数函数就是把一段代码整理到一个小单元中,并给这个小单元起名字,当用到这段代码的时候,只需要调用这个小单元的名字即可。格式functionf_name(){command}其中function可以省略举例1vim/usr/local/sbin/inp.sh#!/bin/bashinp(){echo$1$2$#$0}inpabc输出结果为ab3inp.sh$#输出参数格式当前为3$0输
原创 2018-12-27 20:47:48
458阅读
原创 2019-01-08 18:24:12
331阅读
提示用户输入网卡的名字,然后我们用脚本输出网卡的ip,需要考虑下面问题:输入的字符不符合网卡名字规范,怎么应对。名字符合规范,但是根本就没有这个网卡又怎么应对。#!/bin/bashipadd|awk-F':''$1~"^[1-9]"{print$2}'>/tmp/eth.listwhile:doeths=cat/tmp/eth.list|
原创 2019-01-10 21:23:40
477阅读
shell实现,把一个文本文档中只有一个数字的行给打印出来。文件名filename#!/bin/bashwhilereadlinedon=echo$line|sed's/[^0-9]//g'|wc-Lif[$n-eq1]thenecho$linefidone<filename系统logrotate工具,可以完成日志切割、归档。写一个shell脚本实现类似的归档功能。举例:假
原创 2019-01-11 21:52:25
308阅读
在文本文档1.txt第5行(假设文件行数大于5)后面增加如下内容:#Thisisatestfile.#Testinsertlineintothisfile.#!/bin/bashn=0cat1.txt|whilereadlinedon=$[$n+1]if[$n-eq5]thenecho$lineecho-e"#Thisisatestfile.\n#Testinsertlineintoth
原创 2019-01-17 18:53:03
336阅读
  • 1
  • 2
  • 3
  • 4
  • 5