shell学习笔记之条件(二)
test或者[
#检查文件是否存在
if test -f read.c
then
...
fi if [ -f read.c ]
then
...
fi #如果then和if在同一行上,就应该用;把if和then分开
if [ -f read.c ];then
...
fi
注意:
1.if空格[空格xxx空格]都有空格
2.test命令的退出码(表明条件是否满足),决定是否要执行后面的代码
------------------------------------------------------------------------------
字符串比较
string1 == string2
string1 != string2
-n string 字符串不为空
-z string 字符串为null(一个空串)
算数比较
exp1 -eq exp2 ==
exp1 -ne exp2 !=
exp1 -gt exp2 >
exp1 -ge exp2 >=
exp1 -lt exp2 <
exp1 -le exp2 <=
!exp1
文件有关的测试
-d file 目录
-e file 文件存在,不可移植,常用-f
-f file 普通文件 -r file 文件可读
-w file 文件可写
-x file 文件可执行
-s file 文件大小不为0 -u file 文件的set-user-id位被设置则为真
-g file 文件的set-group-id位被设置则为真
使用
set-user-id set-uid位授予了程序其拥有者的访问权限而不是其使用者的访问权限
set-group-id set-gid
各种与文件有关的条件测试的结果为真的前提是文件必须存在
#!/bin/sh if [ -f /bin/bash ]
then
echo "file /bin/bash exists"
fi if [ -d /bin/bash ]
then
echo "file /bin/bash is a directory"
else
echo "file /bin/bash is NOT a directory"
fi
shell学习笔记之条件(二)的更多相关文章
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- shell 学习笔记8-case条件语句
一.case语句简介 1.什么是case条件语句 case条件语句就相当于多分支的if/elif/else条件语句,但是比这样的语句更规范更好看,经常被用在失效系统服务启动脚本等企业应用中 程序将ca ...
- Shell 学习笔记之条件语句
条件语句 if # if if condition then command fi # if else if condition then command else command fi # if e ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- SHELL学习笔记三
SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- VSTO 学习笔记(十二)自定义公式与Ribbon
原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- shell 学习笔记2-shell-test
一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...
随机推荐
- xcode8 的坑 Info.plist 配置app权限
好多更新完Xcode8 的小盆友们(我也是小盆友啦),会发现当我们调用系统功能,相册,相机,麦克风等会出现崩溃,而控制台打印出一堆乱七八糟的看不懂的东西,但是最后一句话是有用的,给出了崩溃的原因 啦, ...
- 2019年所有人必须要掌握的一个技能 - “AI思维”
或许很多人认为AI只是那些直接从事AI相关岗位的人必须要掌握的技能,但实际上,不分岗位所有人都需要一种能力,那就是“AI思维”.如果没能在合适的时机把自己的认知提升到一定程度,被替代是很自然的事情.在 ...
- 浏览器 UA 判断
export const inBrowser = typeof window !== 'undefined' export const inWeex = typeof WXEnvironment != ...
- Hibernate日期映射类型
映 射 类 型 Java类型 标准SQL类型 描 述 date java.util.Date或者java.sql.Date DATE 代表日期,形式为: YYYY-MM-DD time java ...
- MVC日期和其它字符串格式化
-- (月份位置不是03) string.Format("{0:D}",System.DateTime.Now) 结果为:2009年3月20日 : :: -- : -- :: st ...
- kubectl命令使用
语法: kubectl [command] [TYPE] [NAME] [flags] 1 command:子命令,用于操作Kubernetes集群资源对象的命令,如create, de ...
- java 运行时环境和编译器环境
必须要保证运行环境高于编译环境 1.编译器的环境设置 单击项目右键-> Properties -> Java Compiler -> 5或6 如果编译器的环境高于运行时环境会报错. ...
- C++知识整理(进制)
++输出二进制.十进制.八进制和十六进制总结 分类: C++ 2013-01-14 02:26 592人阅读 评论(0) 收藏 举报 在C++中,默认状态下,数据按十进制输入输出.如果要求按八进制或十 ...
- IOS中通知中心(NSNotificationCenter)
摘要 NSNotification是IOS中一个调度消息通知的类,采用单例模式设计,在程序中实现传值.回调等地方应用很广. IOS中通知中心NSNotificationCenter应用总结 一.了 ...
- 【LeetCode】24. Swap Nodes in Pairs (3 solutions)
Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For exam ...