linux 使用中括号进行条件判断
“#”代表空格,不可缺少
- [# param1#op# param2 #]
这种带比较操作符的形式,op左右必须使用空格隔开.
如 [# “3”==”2” #] 这种缺少空格的写法会得到结果“true”,当然实际应为”false”.
- 变量的引用应使用双引号括起来 [# -z “$name” #].
*********************
name="Jim"
[ $name == "Jack" ] #将会变成 [ Jim == "Jack" ], 也就出现错误了.
*********************
- 常量应该使用双引号或单引号括起来 [# ‘1’#==#’10’ #].
- 更好的书写方式:
****************************
a. 中括号内的每一个组件都用空格隔开(可谓釜底抽薪)
b. 变量都以双引号括起来
****************************
参数
-b file 若文件存在且是一个块特殊文件,则为真-c file 若文件存在且是一个字符特殊文件,则为真-d file 若文件存在且是一个目录,则为真-e file 若文件存在,则为真-f file 若文件存在且是一个规则文件,则为真-g file 若文件存在且设置了SGID位的值,则为真-h file 若文件存在且为一个符合链接,则为真-k file 若文件存在且设置了"sticky"位的值-p file 若文件存在且为一已命名管道,则为真-r file 若文件存在且可读,则为真-s file 若文件存在且其大小大于零,则为真-u file 若文件存在且设置了SUID位,则为真-w file 若文件存在且可写,则为真-x file 若文件存在且可执行,则为真-o file 若文件存在且被有效用户ID所拥有,则为真-z string 若string长度为0,则为真-n string 若string长度不为0,则为真string1 = string2 若两个字符串相等,则为真string1 != string2 若两个字符串不相等,则为真**********************************************************参与比较的数字必须能够转化为整数,话说那里有这个语法的manual?int1 -eq int2 若int1等于int2,则为真int1 -ne int2 若int1不等于int2,则为真int1 -lt int2 若int1小于int2,则为真int1 -le int2 若int1小于等于int2,则为真int1 -gt int2 若int1大于int2,则为真int1 -ge int2 若int1大于等于int2,则为真**********************************************************! expr 若expr为假则复合表达式为真。expr可以是任何有效的测试表达式expr1 -a expr2 若expr1和expr2都为真则整式为真expr1 -o expr2 若expr1和expr2有一个为真则整式为真
linux 使用中括号进行条件判断的更多相关文章
- Linux makefile教程之条件判断六[转]
使用条件判断 —————— 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支.条件表达式可以是比较变量的值,或是比较变量和常量的值. 一.示例 下面的例子,判断$(CC)变量是否“g ...
- Linux学习 -- Shell编程 -- 条件判断
按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ] 注意空格 适合用于脚本中 echo $?可以看到结果 [ - ...
- Linux之shell编程条件判断-if,while,for,case
if 语法格式 if condition then statements [elif condition then statements] [else statements ] fi 示例 vi if ...
- linux shell中的条件判断语句
http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...
- Linux Shell编程 条件判断语法
if条件判断语句 单分支 if 条件语句 语法格式: if [条件判断式];then 程序 fi 或者 if [条件判断式] then 程序 fi 在使用单分支 if 条件查询时需要注意几点: if ...
- [Shell]条件判断与流程控制:if, case, for, while, until
---------------------------------------------------------------------------------------------------- ...
- 『忘了再学』Shell流程控制 — 33、if条件判断语句(一)
目录 1.单分支if条件语句 2.双分支if条件语句 (1)示例1 (2)示例2 什么是流程控制? 普通理解:Shell编写的程序是顺序执行的,也就是说第一命令先执行,然后接着执行第二条命令,然后再下 ...
- Shell脚本 (三) 条件判断 与 流程控制
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 六.条件判断 1.基本语法 [ condition ](注意condition 前后要有空格) 注意:条 ...
- 我们一起来学Shell - shell的条件判断
文章目录 Shell 条件测试语法 符号说明 Shell 测试表达式 文件测试表达式 字符串测试表达式 整数操作符 逻辑操作符 测试表达式的区别总结 Shell 条件判断之if语句 单分支 IF 条件 ...
随机推荐
- usb_control_msg() -- 从设备读取各种信息
et_port_status() --> usb_control_msg()usb_get_descriptor() --> usb_control_msg()/usr/src/linux ...
- tensorflow 安装GPU版本,个人总结,步骤比较详细【转】
本文转载自:https://blog.csdn.net/gangeqian2/article/details/79358543 手把手教你windows安装tensorflow的教程参考另一篇博文ht ...
- HDU - 3068 最长回文(马拉车Manacher)题解
思路:马拉车裸题,我们用一个p[i]数组代表以i为中心的最大回文半径.这里用了一个小技巧,如果一个串是aaaa这样的,那我们插入不相干的字符使它成为#a#a#a#a#,这样无论这个串是奇数还是偶数都会 ...
- python应用-掷骰子模拟-pygal
pygal安装: Linux下: pip install pygal Windows下: python -m pip install pygal 效果如图: # -*- coding: utf-8 - ...
- POJ 2253 Frogger(dijkstra变形)
http://poj.org/problem?id=2253 题意: 有两只青蛙A和B,现在青蛙A要跳到青蛙B的石头上,中间有许多石头可以让青蛙A弹跳.给出所有石头的坐标点,求出在所有通路中青蛙需要跳 ...
- shell 脚本sed替换文件中某个字符串
有些大文件,特别的大.有几百兆,甚至更大. 用文本编辑器打开十分的费劲,电脑都卡死了. 想替换其中的字符串,很麻烦. 这个时候有了shell,简直强大到爆炸! # du -h user.sql 304 ...
- 使用 if 表达式
由于 if 本质上是一个原函数,它的返回值就是满足条件分支表达式的值,因此,if 表达式也可以用作内联函数.我们以 check_positive( )为例进行说明.尽管条件表达式中不另写 return ...
- javascript之反柯里化(uncurrying)
在JavaScript中,当我们调用对象的某个方法时,其实不用去关心该对象原本是否被设计为拥有这个方法,这是动态类型语言的特点.可以通过反柯里化(uncurrying)函数实现,让一个对象去借用一个原 ...
- mysql数据库的备份及免密码上传
主要利用了mysqldump和sshpass进行备份和免密上传 以下是代码实现: #!/bin/bash #该脚本放在主服务器运行 #从服务器账号密码ipremotehost="xxxxxx ...
- Spring 调度任务@scheduled学习总结
官网Api:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html#sche ...