随笔分类 - shell 编程从入门到精通
摘要:A='\' eval echo $A \ 因为bash在参数扩展后不再解释转义字符序列, 第一次命令行处理之后变成 eval echo \ eval执行时,\被解释成\。 之后将echo ''作为新的命令行交给bash执行 echo '' 于是输出 \ eval的意图是让bashl再次处理命令行,于
阅读全文
摘要:一 expect介绍 expect 是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了, expect 就是一套用来实现自动交互功能的软件。需要安装 yum install -y expect 二 expect基础 在使用 expect 时,基本上都是和以下四个命令打交道: |
阅读全文
摘要:今天刚刚开始看正则表达式就遇到一个十分头疼的问题,原文是这样的: “不幸的是,很多单词里包含hi这两个连续的字符,比如him,history,high,hi/\等等。用hi来查找的话,这里边的hi也会被找出来。如果要精确地查找hi这个单词的话,我们应该使用\bhi\b。 \b是正则表达式规定的一个特
阅读全文
摘要:一 正则表达式概述 正则表达式:又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或 RE),是计算机科学的一个概念。正则表达式由元字符组成,通常被用来检索、替换那些符合某个模式 (规则)的文本(许多程序设计语言都支持利用正则表达式进行字符串操作)
阅读全文
摘要:[root@shell /scripts/day7]# vim count.sh #!/usr/bin/env bash # Author:xiaolang # Email: 2306126035@qq.com # Time:2020-11-25 03:57:41 # Name:count.sh #
阅读全文
摘要:一 信号说明 在脚本执行过程中, 可能会被一些键盘操作快捷方式所打断, 影响脚本运行 二 查看linux所有信号 # 安装signal 命令 yum install -y man-pages # 查看信号解释用法 [root@shell ]# man 7 signal # 查看所有信号 [root@
阅读全文
摘要:一 数组介绍 1.什么是数组 数组就是一系列元素的集合,一个数组内可以存放多个元素 2.为何要用数组? 我们可以用数组将多个元素汇总到一起,避免单独定义的麻烦 二 数组的使用 1.数组的定义 # 方式一:array=(元素1 元素2 元素3) array=(egon 18 male) # 方式二:
阅读全文
摘要:一 函数介绍 1.什么是函数 函数就是用来盛放一组代码的容器,函数内的一组代码完成一个特定的功能,称之为一组代码块,调用函数便 可触发函数内代码块的运行,这可以实现代码的复用,所以函数又可以称之为一个工具 2.为何要用函数 # 1、减少代码冗余 # 2、提升代码的组织结构性、可读性 # 3、增强扩展
阅读全文
摘要:语法 ##一 语法 select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择 select var in ... do ... break done # 案例 #!/bin/bash PS3='choose one: ' # select默认使用PS3变量的值做
阅读全文
摘要:一 while循环 1.语法 # 一、while语句结构:条件为真时,执行循环体代码 while 条件 do 循环体 done # 二、until语法结构:条件为假时,一直执行循环体代码,直到条件变为真 until 条件 do 循环体 done 二 for循环 # 》Shell风格语法 for 变量
阅读全文
摘要:nginx编译安装 启动脚本 [root@m01 /scripts]# vim /scripts/nginx.sh #!/usr/bin/env bash #Author:xiaolang #Blog:https://www.cnblogs.com/xiaolang666 #Time:2020-11
阅读全文
摘要:shell 流程控制之if判断 一 单分支 语法: if 条件;then 要执行的命令1 要执行的命令2 要执行的命令3 ... fi # 上述语法可以用一行代码代替 [ 条件信息 ] && xxx # 注意:if 测试中还可以执行命令 根据命令的返回值做判断 二 双分支 语法: if 条件;the
阅读全文
摘要:浮点数比较大小 # 需要注意的是:bc的结果为1代表真,为0代表假 [root@db03 ~]# echo "10.3 > 10.1" | bc 1 [root@db03 ~]# echo "1.1 < 0.7" | bc 0 总结 条件测试: 格式1: test 条件表达式 格式2: [ 条件表达
阅读全文
摘要:测试数值 1.测试数值参数详解 # [[]]与[]基本一样,不同的是[[]]支持正则匹配,不过要注意的是必须在内层中括号内左右两侧加空格 -eq # 等于 -ne # 不等于 -gt # 大于 -lt # 小于 -ge # 大于等于 le # 小于等于 -a # 并且 -o # 或者 # 注意事项:
阅读全文
摘要:字符串测试 # 1.==两个字符串相等 [root@egon ~]# [ "aaa" == "aaa" ];echo $? 0 # != 两个字符串不相等 [root@egon ~]# [ "aaa" != "aaa" ];echo $? 1 # -z 字符串长度为零 [root@db03 /scr
阅读全文
摘要:测试命令test同[] # 测试命令:test,详细可用man test查询 # 测试符号:[],注意只有一层中括号,中括号内左右两侧必须要有空格 # test与[]效果都一样,参数也都一样 1.test和[]参数解释 -d # 目录 -s # 文件长度 > 0、非空 -f # 正规文件 -w #
阅读全文
摘要:一 算数运算符 1.常见运算符 + # 加法 - # 减法 * # 乘法 / # 除法 % # 取余 2.使用方法 算数运算符需要配合下述操作使用 # 需要注意的是:bc的结果为1代表真,为0代表假 # 浮点运算(也可以计算整数) bc # 整数运算(只能计算整数) expr $(()) $[] l
阅读全文
摘要:一 什么是shell脚本 将OS命令堆积到可执行的文件里,由上至下的顺序执行文本里的OS命令 就是脚本了. 再加上些智能(条件/流控)控制,就变成了智能化脚本了. 二 变量 part1 为何要有变量 程序的运行就是一些列状态的变量->用变量值的变化去表示 part2 变量命名规则 以字母或下划线开头
阅读全文
摘要:一、vim编辑器的优化 Linux环境下的vim编辑器默认功能不够强大,如果要进行Shell脚本的开发,还需要进行适当的设置,从而达到高效开发的目的。vim编辑器有一个可以用来调整配置的配置文件,默认放置在用户家目录下,全路径及名字组合为:〜/.vimrc (全局路径为/etc/vimrc),这是一
阅读全文
摘要:shell介绍 一 什 么 是 shell? Shell 是一类应用程序的统称,该类应用程序负责连接用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核来控制计算机硬件。具体来说,linux系统上自带多种shell程序 [root@localhost ~]# chsh
阅读全文