shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出 如: #/bin/sh local ret='sqlite3 test.db "select test from test;"' 或: local ret=$(sqlite3 test.db "select test from test;") 如果test.db被锁定,ret将为空,标准错误输出有信息“Error:database is locked”.…
目录   1. shell脚本编程   2. 运行 Shell 脚本有两种方法   3. 变量   4. 本地变量   5. 环境变量   6. 参数变量   7. 多行注释   8. if条件判断   9. test命令   10. 循环   11. 算数运算   12. 测试实例 shell脚本编程 在正式开始介绍shell编程之前,我们先来简单的了解一下什么是解释型语言和编译型语言. 解释型:Java.Python.Shell编程 运行时,需要解释器 解释执行 特点:跨平台,设计解释器(w…
编写shell脚本难免遇到需要交互式输入指令的步骤: 方法一: # cat action.sh #!/bin/sh read -p "enter number:" no; read -p "enter number:" name; echo you have entered $no,$name; # sh action.sh enter number:chavin enter number:king you have entered chavin,king # ec…
shell判断一个变量是否为空方法总结 https://www.jb51.net/article/154835.htm 1.判断变量 复制代码代码如下: read -p "input a word :" wordif  [ ! -n "$word" ] ;then    echo "you have not input a word!"else    echo "the word you input is $word"fi 2…
条件判断 一.条件测试与比较 一)条件测试基础语法 下列测试语法中如果测试的表达式成立,条件测试就会结束,并返回0. 1.test条件测试 语法:test  <测试表达式> 2.中括号条件测试 语法: [ <测试表达式> ]    注意:中括号的内部和两边都要有空格 3.双中括号条件测试 语法: [[ <测试表达式> ]]  注意:空格 4.也可以这么写: 5.文件相关 6.字符串测试 [ || #注意等号两端要有空格 7.整数二元操作符 8.逻辑操作符 #两种写法都没…
if语句有多种写法 [root@shell-yankerp sh]# [ -f file ] && echo "yes" || echo "no" yes修改如下: if [ -f file ] thenecho "yes"elseecho "no"fi 简写: [ -f file ] && echo "yes" 表示if条件成立时返回yes[ -f file ]  || e…
菜鸟教程提供的Shell在线编辑器 Shell 字符串 项目 功能 单引号 原样输出,变量无效.但可用成对单引号嵌套成对单引号输出变量 双引号 定义字符串中附带有变量的命令并且想将其解析后再输出的变量. 1. 单引号 #!/bin/bash test='Try to do it.' echo 'I say ${test}' #**[代码1]** #echo ' \' ' #使用转义字符会报错,**[代码2]** echo 'I say '${test}'' #**[代码3]** 单引号字符串的限…
有些大文件,特别的大.有几百兆,甚至更大. 用文本编辑器打开十分的费劲,电脑都卡死了. 想替换其中的字符串,很麻烦. 这个时候有了shell,简直强大到爆炸! # du -h user.sql 304M user.sql # sed -i "s/tf_user/tf_user_index/g" user.sql 修改大文件中的tf_user 为 tf_user_index 轻松搞定!!! sed 威武,shell 威武.…
第一种方法[root@localhost wyb]# .sh #!/bin/bash #判断给出的字符串是否相等 read -p "Please Input a number:" number [ -z $number ] && len=${#number} a=`` for i in `seq $len` do b=`echo $number|cut -c $i` [[ "$a" != "$b" ]] && ec…
[root@localhost wyb]# .sh #!/bin/bash #检查给出的字符串是否为回文 read -p "Please input a String:" number [ -z $number ] && len=${#number} count=$((len/)) for i in `seq $count` do lasti=$((len-i+)) first=`echo $number|cut -c $i` two=`echo $number|cut…
全部回文字的结构特征例如以下: 假设字符数是偶数,那么它在结构上表现为:一个字符序列连着还有一个字符同样但次序恰好相反的字符序列. 假设字符数为奇数,那么它在结构上表现为:一个字符序列连着还有一个字符同样但次序恰好相反的字符序列,可是这两个序列中间共享一个同样的字符. sed命令可以记住之前匹配的子样式. 可以用正則表達式:'\(.\)'.匹配随意一个字符.\1表示其反向引用.如匹配有两个字符的回文正則表達式为: '\(.\)\(.\)\2\1' 匹配随意长度的回文脚本例如以下所看到的: #!/…
让用户输入两个数来比较他们的大小 先用touch命令新建一个1.sh文件 在用vi进入i进入编辑状态 输入 #!/bin/bash read "" a read "" b if [ $a -eq $b ];then echo "=" elif [ $a -gt $b ];then echo ">" elif [ $a -lt $b ];then echo "<" fi 输入完成以后按esc退出编…
让用户输入两个数来比较他们的大小 先用touch命令新建一个2.sh文件 在用vi进入i进入编辑状态 输入 保存后检查…
shell脚本常用技巧 1.获取随机字符串或数字 ~]#echo $RANDOM | md5sum | cut -c 1-6 ~]#openssl rand -base64 4 | cut -c 1-6 ~]#uuidgen | cut -c 1-6 2.获取随机数 ~]#echo $RANDOM | cksum | cut -c 1-6 ~]#openssl rand -base64 4 | chsum | cut -c 1-6 ~]#date +%N | cut -c 1-6 3.自定义颜色…
一.知识储备工作: Mysql导出数据库语法: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql shell脚本for循环及if条件判断基本语法 gzip压缩文件用法 rsync异地备份用法: ssh免密登录 二.场景 本次利用shell脚本实现以下需求: 每天凌晨3点执行备份,需备份所有库(db1 db2 db3) 备份的数据存放在本地/data/mysql下 将所有备份文件压缩,格式为gzip 压缩后的名称格式示例:qin-2020-02-24-21:19.sql.g…
非常需要注意的是shell脚本对空格要求非常严格, 如: 比较字符串   (不能用于比较字符串) 以上这种写法会报错 因此比较字符串不用 单中括号 [ ] -----------------有误 而是用双中括号[ [ ] ] ,比较两字符串中间用等号,用eq,lt ,gt 不起作用 ,        (正确格式) 且注意中括号和字母之间要有空格,否则会报错    (错误格式) 比较数字则单双中括号都可以用,-eq -lt  -gt  > <  =没有限制,但中括号和字母之间必须要有空格 if…
1.env显示当前的环境变量 2.PS1='[\u@\h \w \A] \$' 可以设置bash的命令与提示符. 3.echo $$ 显示当前bash的PID号 4.echo $?显示上一条指令的回传值(指令成功回传值为0,其他为非零)5.unset name 取消变量的定义 6.定义变量语法:              变量名=变量值               [注]:等号两边不能留空格,否则代表变量包含空格;若变量本身就包含空格,则整个字符串都要用双引号括起来. 7.引用变量:      …
字符串判断 $变量时要用双引号引起来,即"$变量" 测试选项 作用 -z 字符串 判断字符串是否为空(为空返回真) -n 字符串 判断字符串是否为非空(非空返回真) 字符串1 == 字符串2 判断字符串1和字符串2是否相等(相等返回真) 字符串1 != 字符串2 判断字符串1是否字符串2不相等(不相等返回真) 格式 [ 选项 字符串 ] [ 字符串 选项 字符串 ] 例子 a=22 [ -z "$a" ] && echo False || echo…
转自:http://m.jb51.net/article/56553.htm 这篇文章主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下 前言:      无论什么编程语言都离不开条件判断.SHELL也不例外.       if list then           do something here       elif list then           do another thing here  …
在之前的shell语言学习笔记中已经写过shell的几种判断语句及循环语句,也简单的介绍了shell语言判断语句和判断条件.在此再做进一步学习. test命令的测试功能 test命令用于检测系统文件及其相关属性,如检查某文件是否存在,检查某文件的权限等.判断当前目录下是否存在某文件study可以用以下命令: 1 #test -e study -e 选项是测试某文件是否存在(包括文件和文件夹),该执行结果不会输出任何信息,但是我们可以通过&&及||来改写使其展现相关信息,改写后的命令如下:…
本文主要介绍了Shell脚本IF条件判断和判断条件总结,本文先是给出了IF条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下. 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing here else do something else here fi EX1: #!/bin/sh SYSTEM=`uname -s` #获取操作系统类型,我本地是…
Shell脚本的条件测试与比较 一.shell脚本的条件测试 通常,在bash的各种条件结构和流程控制结构中都要进行各种测试,然后根据测试结构执行不同的操作,有时也会与if等条件语句相结合,来完成测试判断,以减少程序运行的错误. 执行条件测试表达式后通常会返回"真"或"假",就行执行命令后返回的值为0表示真,非0表示假一样. Bash编程中条件测试常用的语法: 条件测试语法 说明 语法一:test<测试表达式> 这是利用test命令进行测试表达式的方法.…
#!shell脚本格式决定专业性 #!/bin/bash #filename:脚本名 #author:作者 #date:时间 #脚本作用 脚本的执行方式  #脚本名为wk.sh 绝对路径 /root/wk.sh #另开一个shell终端执行 相对路径 ./wk.sh sh解释器 sh wk.sh 与bash一样 bash wk.sh source 脚本路径( 与. wk.sh)路径相同 #在当前终端执行,在当前终端生效 #除了sh 解释器执行脚本 其他三种执行方式脚本必须有x权限 重定向操作 类…
#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读 #case条件语句的语法格式 case "变量" in 值1) 指令1... ;; 值2) 指令2... ;; *) 指令3... esac #说明:当变量的值等于1时,那么就会相应的执行指令1的相关命令输出,值等于2时就执行指令2的命令,以此类推,如果都不符合的话…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 六.条件判断 1.基本语法 [ condition ](注意condition 前后要有空格) 注意:条件非空即为true,[ webcode ]返回true,[]返回false 2.常用判断条件 (1)两个整数之间比较 = 字符串比较 -lt 小于(less than)                   -le 小于等于(less equal) -eq 等于(equal)             …
Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. 例如,两个数相加: #!/bin/bash val=`expr 2 + 2` echo "Total value : $val" 运行脚本输出: Total value : 4 两点注意: 表达式和运算符之间要有空格,…
简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义STR1变量,值为abc STR1 = "abc"(错误写法) STR1="abc"(正确写法) 在编写java代码时会考虑到格式化,往往变量定义时会有一些空格或者换行符等,因此在写shell脚本时也就顺手这么写了,在运行时就会报错:"command not f…
   接着上篇博客,今天整理一下关于条件测试和条件语句方面的知识. shell脚本进阶之条件测试    在编写shell脚本时,经常需要对一些条件进行判断,可以使用测试命令test辅助完成测试过程.test命令测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他数值. 条件测试的基本格式有: 格式1 test EXPRESSION 格式2 [ EXPRESSION ] 注意:使用方括号时,条件两边必须加上空格. 常见的测试类型有 文件测试 数值测试 字符串测试 组合测试 文…
条件测试 1. 条件测试:test [ 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假, 则命令的Exit Status为1(注意与C语⾔言的逻辑表⽰示正好相反).例如测试两个数的大小关系: 虽然看起来很奇怪,但左方括号[确实是一个命令的名字,传给命令的各参数之间应该⽤空格隔开,比如,$VAR.-gt.3.]是[命令的四个参数,它们之间必须⽤空格隔开.命令test或[的参数形式是相同的,只不过test命令不需要]参数.以[命令为…
SHELL脚本编程的条件测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.条件测试概述 判断某需求是否满足,需要由测试机制来实现 专用的测试表达式需要由测试命令辅助完成测试过程 评估布尔声明,以便用在条件性执行中 若真,则返回0 若假,则返回1 测试命令: test EXPRESSION [ EXPRESSION ] #推荐使用这种风格,易读性更强,操作系统很多脚本判断都是用的这种风格,不过还是看你自己个人习惯,毕竟bash的测试命令支持这三种风格,相当灵活. [[ E…