
shell
文章平均质量分 53
北纬34度停留
这个作者很懒,什么都没留下…
展开
-
脚本内使用目录正则出现的问题
问题描述:在脚本中使用目录通配 `{a,b}`,当执行脚本时,并不能获取到通配结果。但是直接在命令行执行,是没有问题的。问题分析:当脚本执行时,变量带上了单引号,导致执行 ls 命令时,无法识别通配不优雅的解决:没有找到完美的方法,希望能得到大佬帮助。目前使用了不是很优雅的方式规避了该问题。...原创 2021-09-24 10:16:37 · 292 阅读 · 0 评论 -
从499状态码,到如何使用shell脚本找一个文件中特定的字符串
记录一次面试引发的一个小问题一次面试,面试官问:你知道http状态码中499是什么吗?一脸懵逼。面试官很客气的说可以去nginx源码里面找到。面试官都这么说了,再去百度找,就太对不起自己这个准运维人员的身份了。好了话不多说,去源码找吧。进了源码我就二脸懵逼了。[root@localhost src]# pwd/linux/nginx/nginx-1.12.2/src[root@l...原创 2018-08-21 23:51:47 · 362 阅读 · 0 评论 -
awk——awk基础介绍
awkawk基础awk简介awk是被设计用于文本处理,并常被用作数据提取和报告工具的解释性程序设计语言。awk的作者这样描述:awk是一个方便的且富有表现力的程序设计语言,它可以应用于各种各样的计算机和数据处理任务。awk是数据驱动的,即:描述要处理的数据以及找到数据后要做什么。和sed类似,awk的基本功能也是搜索文件中包含某些模式的行。当某行匹配到一个模式时,awk就再该行...原创 2018-08-02 04:20:33 · 538 阅读 · 0 评论 -
sed简单学习
SEDsed编辑器基础sed是用来解析和转换文本的工具,是简洁的程序设计语言。来自贝尔实验室。sed简介sed是非交互式的面向数据流的编辑器,提供了交互式文本编辑器的自然扩展功能。有助于编写简单的shell脚本,如:替换文本、删除某行、差入新文本等。sed特点: 自动化地编辑一个或多个文件 简化在多个文件中执行相同操作的任务 编写转换程序 模式空间...原创 2018-08-01 01:55:56 · 373 阅读 · 0 评论 -
Linux中的管道和过滤器
管道和过滤器管道Shell可以将两个或多个程序连接到一起,以使一个程序的输出变成另一个程序的输入,这种方式连接的两个或者多个程序就形成了管道。管道通常用于执行一些复杂的数据处理操作。这些命令之间使用控制操作符(管道符)"|"连接。管道的语法格式:command1 | command2command1 | command2 [ commandN... ]操作符"|"与">"的区别">"...原创 2018-07-15 16:10:40 · 5296 阅读 · 1 评论 -
Bash正则表达式比较操作符
Bash正则表达式比较操作符从Bash3.0开始,Bash有了内部的正则表达式比较操作符,使用"=~"表示。大部分使用grep或者sed命令的正则表达式编写脚本的方法可以由"=~"操作符的Bash表达式处理。如果一个表达式左边的变量匹配到右边的正则表达式,则返回状态码0,否则返回1。如:检查一个数是否为十进制[root@rs1 test2]# cat digit.sh #!/bin/bash...原创 2018-07-07 02:58:18 · 4773 阅读 · 0 评论 -
我就是认真:shell函数学习
shell函数函数的定义当需要重复使用一个脚本中的功能,或者脚本达到一定程度时,使用函数就比较方便。定义函数语法:#函数名function_name() { #函数体,在函数中执行的命令行 commands... #参数返回,return可有可无,如果没有,则返回函数最后一条命令运行结果作为返回值;如果有,则return后跟数值n(0~255) [return ...原创 2018-07-07 00:49:40 · 206 阅读 · 0 评论 -
关于crontab自动执行shell脚本出现的不能执行命令问题
上一篇博客写了一个shell脚本,用来测试计算机硬件信息、cpu、内存等信息。今天把它扔进crontab里面想定期执行,并保存数据。结果出现了问题。。。先看shell脚本:#!/bin/bash#定义变量NOW,值为当前日期。格式:yyyymmddNOW=`date +%Y-%m-%d-%H:%M:%S`#定义变量OUTPUTOUTPUT=/mnt/log/$NOW.txtex...原创 2018-07-12 18:53:27 · 9147 阅读 · 0 评论 -
Shell中select循环语句实例
select循环语句实例Bash提供select循环,语法如下:select VAR in LISTdo command1 command2 ... commandNdoneselect循环语句由如下特点:select语句使用Bash内部变量PS3的值作为它的提示符信息。打印到屏幕上的列表LIST中的每一项都会加上一个数字编号。当用户输入的数字和某一个数字编号一致时,列表中响应的项即被赋予...原创 2018-07-06 04:07:42 · 1348 阅读 · 0 评论 -
Bash中的位置参数和特殊参数
Bash中的位置参数和特殊参数位置参数Bash中的位置参数是由除0意外的一个或多个数字表示的参数。位置参数是当Shell或Shell的函数被引用时由Shell或Shell函数的参数赋值,并且可以使用Bash的内部命令set来重新赋值。位置参数N可以被引用为$N,当N>=10时,需要用{}括起来。如:[root@rs1 test]# set 1 2 3 four five six 7 8 9 ...原创 2018-07-06 02:12:00 · 3078 阅读 · 0 评论 -
Shell重定向
Shell重定向输入和输出在Linux中一切皆文件,即使是硬件,在Linux系统中同样的表示为文件。有三个标准的POSIX字符,被成为文件描述符。每个Linux命令都会使用到0、1、2三个文件描述符与用户或其他系统程序进行交互。0——标准输入——键盘:从文件(默认是键盘)读取输入1——标准输出——屏幕:发送数据到文件(默认为屏幕)2——标准错误——屏幕:发送所有错误信息到一个文件(默认为屏幕)标准...原创 2018-07-11 02:03:16 · 789 阅读 · 0 评论 -
脚本输入处理——获得用户输入
脚本输入处理获得用户输入在一个交互式的Shell脚本中,一般使用read命令来获取用户输入。基本的读取read命令比较常用的语法格式:read [-p prompt] [var1 var2...]-p选项用于在尝试读取任何输入之前,显示提示信息(prompt)的内容到标准输出。一般情况用来提示用户输入哪些输入信息。read命令会每次从标准输入读取一行的内容(-u可以指定文件描述符),将第一个单词...原创 2018-07-09 16:23:07 · 3705 阅读 · 0 评论 -
脚本输入处理——选项处理
脚本输入处理选项处理如果一个脚本有多个命令行参数,调用这个脚本时所指定的命令行参数顺序不固定,那么即是参数的个数正确,脚本也不一定可以正常运行。如:一个脚本(process.sh),可以接受三个参数:配置文件、输入数据的文件和脚本的数据文件(default.conf、input.txt、output.txt)。此脚本读取配置文件内容,处理input.txt文件,然后将输出写入到output.txt...原创 2018-07-09 16:21:31 · 1859 阅读 · 0 评论 -
脚本输入处理——参数处理
脚本输入处理参数处理通常情况下,为了让Shell脚本更灵活、应用更广泛、具备多种不同行为,会在编写脚本时接收一些命令行参数,通过命令行参数指定脚本中变量的值使得脚本执行不同的操作。case语句处理命令行参数当脚本只接收一个命令行参数,并且根据参数的不同采取不同行为时,通常使用case语句来处理。编写nginx启动脚本编写脚本文件nginx.sh。(前提时源码安装了nginx服务,源码安装nginx...原创 2018-07-08 23:35:43 · 1095 阅读 · 0 评论