
Shell
blue$boy
这个作者很懒,什么都没留下…
展开
-
脚本实战
例1需求题目:打包压缩/var/log/路径下的log文件至目标目录关键点:指定源目的路径,对log文件进行tar与mv操作脚本内容#! /bin/bashSRC_PATH="/var/log/"DST_PATH="/shell/backup/`date +%Y%m%d`" if [ ! -d $DST_PATH ];then mkdir -p $DST_PATHfifor...原创 2019-11-29 19:05:25 · 168 阅读 · 0 评论 -
shell 之 循环嵌套
例1 单层循环题目:遍历a.txt文件里的用户名,如果系统中没有该用户名则添加至系统a.txttest1test2test3test4脚本内容#! /bin/bashfor uname in `cat /shell/a.txt` do id $uname &> /dev/null if [ $? -ne 0 ];then useradd $unam...原创 2019-11-29 11:47:22 · 1469 阅读 · 0 评论 -
while循环语句 while-do-done
1. 定义while-do-done重复测试指令的条件,只要条件成立就反复执行对应的命令操作,直到命令不成立或为假2. 语法while 测试条件do 命令done3. 执行流程描述 注意:避免陷入死循环,如 while true,循环退出根据测试条件的退出码来定4. 示例4.1 倒序输出10到1代码示例#!/bin/bashvar=10while [ $var -...原创 2019-11-15 17:16:14 · 4289 阅读 · 0 评论 -
for循环语句 for-do-done
1. 定义2. 语法语法一:for var in listdo commandsdone语法二:for var in list;do commandsdone注:取值列表有多种取值方式,比如: 1)可以直接读取in后面的值,默认以空格分隔 2)列表中的复杂值,可以使用 引号或转义符号"/"加以约束3. 执行流程描述各个被遍历的值之间用空格分开4. 示例4...原创 2019-11-15 15:44:24 · 4792 阅读 · 0 评论 -
shell 之 case流程控制语句
1. 定义控制语句: 用来实现对程序流程的选择、循环、转向、返回等进行控制。case是开关语句的一个组成部分;它是根据变量的不同进行取值比较,然后针对不同的取值分别执行不同的命令操作 适用于多分支,是一个多选择语句2. 语法case 变量/表达式 in 变量/表达式1 执行命令序列1) ;; 变量/表达式2 执行命令序列2) ;; ...... *) ...原创 2019-11-06 18:23:25 · 258 阅读 · 0 评论 -
shell 之shell中的通配符
常见通配符字符含义实例*匹配0或多个字符a*b ,a与b之间可以有任意长度的任意字符,也可以一个都没有,如aabcb、a012b、ab?匹配任意一个字符a?b ,a与b之间必须也只能有一个字符,可以是任意字符,如aab、a2b[list]匹配list中的任意单一字符a[xyz]b ,a与b之间不许也只能由一个字符,且只能是x或y或z,如axb、ayb...原创 2019-10-31 16:45:07 · 332 阅读 · 0 评论 -
shell 之 流程控制过程中复杂条件
1. 复杂条件1.1 语法格式1) 判断第一种if [ 条件判断一 ] &&(||) [ 条件判断二 ];then 待执行命令一elif [ 条件判断三 ] &&(||) [ 条件判断四 ];then 待执行命令二else 执行其他fi2) 判断第二种if [条件判断一 -a(-o) 条件判断二 -a(-o) 条件判断三];then 待执行...原创 2019-10-31 15:05:34 · 1609 阅读 · 0 评论 -
mysqldump: [Warning] Using a password on the command line interface can be insecure问题原因及解决方法
问题描述在5.7版本的mysql环境下通过mysqldump备份数据库时报错:mysqldump: [Warning] Using a password on the command line interface can be insecure见下图:问题原因目前查看资料发现5.5是不报错的,因此此问题可能从5.6开始才有也可能从5.7开始才有mysql自5.7版本开始,考虑到my...原创 2019-10-16 01:43:00 · 25730 阅读 · 2 评论 -
shell 之 mysql数据库备份脚本
目标:可以通过脚本对mysql数据库下对blog01数据库进行备份,且名字要以时间为格式环境:mysql版本为:5.7.27代码:#!/bin/bash# 定义变量basename=`date +%Y%m%d`bakdir=/home/malingang/shelldbname="blog01"dbcnf=/etc/my.cnf[ -e $bakdir ] || mkdi...原创 2019-10-16 01:44:14 · 322 阅读 · 0 评论 -
shell 之 test测试命令
1. test命令初识1.1 定义shell中的test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试1.2 语法格式test 测试条件或[ 测试条件 ]注:如果结果是对的,也叫结果为真,用$?=0表示,反之为假,用非0表示2. test测试命令2.1 数值比较参数说明示例-eq等于则为真["$a" -eq "$b"]...原创 2019-10-13 00:29:44 · 748 阅读 · 0 评论 -
shell 之 流程控制语句if
1. 单分支if语句1.1 语法格式if 条件then commandsfi1.2 例子#!/bin/bashif ls /shellthen echo "there is a dir named shell"fi执行结果1.3 流程图注:根据我们命令退出的码来进行判断($? 是否为 0 ),如果是0,那么就会执行then后面的命令2. 双分支if语句2.1...原创 2019-10-08 15:17:55 · 175 阅读 · 0 评论 -
shell 之 read命令 读取变量值
1. read命令键盘读取变量的值1.1 简介 从就键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。 该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。 在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY1.2 read常用方法及参数参数意义/作用-s隐藏用户键入的值-p打印提示信息来...原创 2019-10-02 14:12:19 · 8045 阅读 · 0 评论 -
shell脚本基础
1. shell基本语法1.1 什么是shellshell试衣个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户输入的命令给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可以是交互的也可以是非交互的。而我们输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制,同时又把计算机生成的结果返回给我们1.2 编...原创 2019-10-01 12:07:13 · 626 阅读 · 0 评论 -
Shell 脚本相关学习
目录1、Shell脚本基础2、条件判断和流程控制语句3、结构化命令case-for-while4、跳出循环-shift参数左移-函数的使用5、expect-正则表达式-sed-cut的使用6、 shell中色彩处理和awk使用技巧...原创 2019-09-26 14:56:08 · 153 阅读 · 0 评论