什么是Shell Shell是一个命令解释器,它会解释并执行命令行提示符下输入的命令.除此之外,Shell还有另一个功能,如果要执行多条命令,它可以将这组命令存放在一个文件中,然后可以像执行Linux系统提供的其他程序一样执行这个文件,这个命令文件就叫做Shell程序或者Shell脚本.当运行这个文件时,它会像在命令行输入这些命令一样顺序地执行它们. Shell脚本支持变量.命令行参数.交互式输入.函数模块.各种控制语句等高级编程语言的特性,如if.case.while和for等.利用Shell…
本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). -f:测试是否为文件(File). -r:测试当前用户是否有权限读取(Read). -w:测试当前用户是否有权限写入(Write). -x:测试是否设置有可执行权限(Excute). -nt:判断文件A是否比文件B新. -ot:判断文件A是否比文件B旧. -ef:判断两个文件是否为同一个文件,用来判…
目录 一.条件测试 1.1.表达说明 1.2.test命令 文件测试 1.3.整数值比较 1.4.字符串比较 1.5.逻辑测试 二.if语句 2.1.单分支结构 2.2.双分支结构 2.3.多分支结构 三.case语句 3.1.实例 一.条件测试 1.1.表达说明 Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常. 1.2.test命令 可以对特定条件进行测试,并根据返回值来判断条件是否成立(…
目录 一.条件测试 test 格式 文件测试 文件测试常见选项 整数值比较 字符串比较 浮点数的运算 逻辑测试 二.if语句 1单分支 2双分支结构 3多分支结构 三元运算符 三.case 一.条件测试 shell 进行条件判断的两种方式 test 格式 test [操作符选项] 表达式 [ 操作符选项 表达式 ] 两边要有空格 测试特定的表达式是否成立,当条件成立,测试语句的返回值为0,否则为其他数值 boole true(真) false(假) 返回码 0 非0 linux系统 shell脚…
条件测试 方式一:在Bash中 test命令和[]是等价的. test命令: if test $n1 -eq $n2 then echo "The two number are equal" fi []命令: "["后面和"]"前面有空格 if [ $n1 -eq $n2 ] then echo "The two number are equal" fi 方式二:(( expression )) 测试数学表达式结果 if ((…
1.条件测试常用语法 test 测试表达式 利用test命令进行条件测试表达式,test命令与测试表达式之间至少有一个空格 [ 测试表达式 ] 通过[ ]中括号进行条件测试表达式,[]中括号边界与测试表达式之间至少有一个空格 [[ 测试表达式 ]] 通过[[ ]]双中括号进行条件测试表达式,[[ ]]双中括号与测试表达式之间至少有一个空格 ((测试表达式)) 通过(( ))双小括号进行条件测试表达式,( ))双小括号两端不需要空格,常用于整数对比 说明: 双中括号[[ ]]中可以使用通配符进行匹…
一.测试 程序运行中经常需要根据实际情况来运行特定的命令或代码段.比如判断某个文件或目录是否存在,如果文件或目录不存在,可能首先创建文件或目录.举例说,要判断文件/var/log/mlocate文件是否存在,可以先ls该文件,然后用$?来判断,如下所示: #一个存在的文件 [root@Cfhost-170820-UCNK ~]# ls /var/lib/mlocate/ #如果ls成功,则$?返回值为0,说明该文件存在 [root@Cfhost-170820-UCNK ~]# echo $?0…
Shell脚本中经常需要判断某情况或者数据是否满足,需要由测试机制来实现. 测试方式 echo $?查看命令执行状态返回值 bash脚本中可以自定义返回值exit n(n为自己指定的状态码),shell进程遇到exit时,即会终止,因此,整个脚本执行即为结束: 0:成功 1-255:失败 测试表达式 # EXPRESSION两端必须有空白字符,否则为语法错误: test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]] 测试类型 数值测试 -eq:是否等于:…
if条件判断语句 单分支 if 条件语句 语法格式: if [条件判断式];then 程序 fi 或者 if [条件判断式] then 程序 fi 在使用单分支 if 条件查询时需要注意几点: if 语句使用 fi 结尾,和一般语言使用大括号结尾不同. [条件判断式] 就是使用 test 命令判断,所以中括号和条件判断式之间必须有空格. then 后面跟符合条件之后执行的程序.可以放在 [] 之后,用";"分隔:也可以换行写入,就不需要";": 示例:通过脚本判断根…
条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含…