今天在脚本里运行if判断的时候,总是进不了对应的分支,检查正则表达式也没有错误.单独拿到shell里面执行还是显示没有匹配.比较奇怪,就搜了下,才发现是在=~ 后面的正则表达式上不能加上引号,而且以点代表任意字符,最后面是不能加上(.)*来匹配接完的. 下面是搜到的部分信息: 一个匹配ip地址的测试,结果匹配不了: newip='192.168.1.1' if [[ "$newip" =~ '^([0-9]{1,3}\.){3}[0-9]{1,3}$' ]];then echo '找到…
1.判断一个文件的常见形式为 if [ -f filename ]  #此处有-e和-f的区别 注意: 1)中括号之间的空格: 2)filename最好是绝对路径,在判断远程服务器中文件是否存在时尤为重要,因为集群之间有路径的变化. 2.链接远程服务器 写法为:if [ ssh root@${ip} -f filename ]会报错:[: too many arguments 改为: if [ "ssh root@${ip} -f filename" ]即可. 注意: 1)此处的双引号…
if语句中的判断条件   正则表达式匹配:     ==:等值比较;     ~:与指定正则表达式模式匹配时返回"真",判断匹配与否时区分字符大小写:     ~*:与指定正则表达式模式匹配时返回"真",判断匹配与否时不区分字符大小写:     !~:与指定正则表达式模式不匹配时返回"真",判断匹配与否时区分字符大小写:     !~*:与指定正则表达式模式不匹配时返回"真",判断匹配与否时不区分字符大小写:   文件及目录匹…
在之前的shell语言学习笔记中已经写过shell的几种判断语句及循环语句,也简单的介绍了shell语言判断语句和判断条件.在此再做进一步学习. test命令的测试功能 test命令用于检测系统文件及其相关属性,如检查某文件是否存在,检查某文件的权限等.判断当前目录下是否存在某文件study可以用以下命令: 1 #test -e study -e 选项是测试某文件是否存在(包括文件和文件夹),该执行结果不会输出任何信息,但是我们可以通过&&及||来改写使其展现相关信息,改写后的命令如下:…
判断符号[]类似于test.但是[]有通配符及正则表达式,为了区分,利用[]来做判断时,前后都需要加空格来区分.又一个坑 [ -z "$HOME" ];echo $? 例: 1 read -p "Please input (y/n):" yn 2 [ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK,continue"…
目录   1. shell脚本编程   2. 运行 Shell 脚本有两种方法   3. 变量   4. 本地变量   5. 环境变量   6. 参数变量   7. 多行注释   8. if条件判断   9. test命令   10. 循环   11. 算数运算   12. 测试实例 shell脚本编程 在正式开始介绍shell编程之前,我们先来简单的了解一下什么是解释型语言和编译型语言. 解释型:Java.Python.Shell编程 运行时,需要解释器 解释执行 特点:跨平台,设计解释器(w…
目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下一条,以此类推,而流程控制就是改变上面这种顺序执行的方式. 官方理解:流程控制语句用于控制程序的流程, 以实现程序的各种结构方式,即用来实现对程序流程的选择.循环.转向和返回等进行控制. Shell中的流程控制语句分为: if条件判断语句. case条件判断语句. for循环语句. while循环语…
转自: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学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here       elif list then           do another thing here       else          do something else here fi  EX1: #!/bin/bash if [ `uname -m` == "x86_64" ]…
1. IF条件判断语法: if Athen   dosthelif B   dosthelse   dosthfi 2. 判断条件:   2.1 字符串判断   str1 = str2 当两个串有相同内容.长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当串的长度为0时为真(空串)   2.2 数字的判断   int1 -eq int2 两数相等为真 int1 -ne int2 两数不等为真 int1 -g…