首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux基础学习(八)Shell脚本

shell脚本编程linux系统管理拥有着极为强大的能力,可以说,当前的工作已经日益偏向自动化了。如果我们极不愿意去学习这方面的知识,可能在未来的工作颇有不便。...3、变量$符 变量是编程中最重要的元素之一,倘若一个程序均用常量编写,那么参数改变或版本更迭中将遇到极大的麻烦。通常,引用变量的内容变量名前增加一个$符即可。...判断字符串长度是否为0 STRING1 = STRING2 两字符串是否相等 STRING1 !...= STRING2 两字符串是否不相等 2、INT判断 INT1 -eq INT2 判断两整型是否相等 INT1 -ge INT2 判断INT1是否大于或等于INT2 INT1 -gt INT2 判断...INT1是否大于INT2 INT1 -le INT2 判断INT1是否小于或等于INT2 INT1 -lt INT2 判断INT1是否小于INT2 INT1 -ne INT2 判断两整型是否不相等

1.3K40

linux shell if字符串比较大小,linuxshell if 判断总结

= str2     当串str1和str2不等时为真 -n str1       当串的长度大于0时为真(串非空) -z str1       当串的长度为0时为真(空串) str1        当串...str1为非空时为真 2 数字的判断 int1 -eq int2   两数相等为真 int1 -ne int2   两数不等为真 int1 -gt int2    int1大于int2为真 int1 -...ge int2   int1大于等于int2为真 int1 -lt int2    int1小于int2为真 int1 -le int2    int1小于等于int2为真 3 文件相关的if判断条件语句...-r file     用户可读为真 -w file     用户可写为真 -x file     用户可执行为真 -f file     文件为正规文件为真 -d file     文件为目录为真...非 语法虽然简单,但是SHELL里使用的时候,它可以实现强大的功能或执行逻辑。

3.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

shell脚本if基本使用方法

if, for, while几乎是所有编程语言的关键字,Shell编程也不例外,其中if是使用频率最高的,由于Shell编程不存在对象(Object)的概念,因此if的比较判断主要是对字符串、...数字的值进行比较判断的: 一. if的基本语法 1.if与[之间要有空格 2.[]与判断条件之间也必须有空格 3.]与;之间不能有空格 二....对数字的判断 1.int1 -eq int2 #int1int2相等 2.int1 -ne int2 #int1不相等int2 3.int1 -gt int2 #int1大于int2 4.int1 -...ge int2 #int1大于等于int2 5.int1 -lt int2 #int1小于int2 6.int1 -le int2 #int1小于等于int2 四....-x file #用户可执行为真 4.-f file #文件存在且为正规文件为真 5.-d file #如果是存在目录为真 6.-c file #文件存在且为字符设备文件 7.

79820

SHELL学习笔记----IF条件判断,判断条件

= str2      当串str1和str2不等时为真 -n str1        当串的长度大于0时为真(串非空) -z str1        当串的长度为0时为真(空串) str1          ...当串str1为非空时为真 2 数字的判断 int1 -eq int2    两数相等为真 int1 -ne int2    两数不等为真 int1 -gt int2    int1大于int2为真...int1 -ge int2    int1大于等于int2为真 int1 -lt int2    int1小于int2为真 int1 -le int2    int1小于等于int2为真 3 文件的判断...非 结尾     语法虽然简单,但是SHELL里使用的时候,他的功能变得强大了。...[ -x FILE ]  如果 FILE 存在且是可执行的则为真。  [ -O FILE ]  如果 FILE 存在且属有效用户ID则为真。

2.3K20

Swift系列一 - 数据类型

字面量 布尔类型值OC0和1,但Swift是true和false(和大部分语言一样) 字符串类型值用双引号 字符类型值和字符串一样都是用双引号括起来,但是字符变量必须用Character修饰,否则会默认是字符串...-2 // 十六进制,意味着15x2^-2,相当于十进制的3.75 /* 以下都是表示12.1875 十进制:12.1875、1.21875e1 十六进制:0xC.3p0 */ // 数组...整数转换 Swift不同类型之间是不能运算的,否则编译器会报错 正确做法: let int1: UInt16 = 2_000 let int2: UInt8 = 1 let int3 = int1...整数、浮点数转换 let int1: UInt16 = 2_000 let int2: UInt8 = 1 let int3 = int1 + UInt16(int2) let int = 3 let...(Python也有此类型): 元组与列表类似,不同之处在于元组的元素不能修改。

67320

2022年最新Python大数据之Python基础【二】

t这类字母没有特殊含义,如果想给他赋予特殊含义,则需要使用\进行转译 2、f-string f-string是Python3.6之后出现的格式化语法 格式:f’要输出的字符串{要拼接的变量}’...代表1 false 代表0 # print(int1 + True) # - # 同加法运算一致 # * print(int1 * int2) print(int1 * float1) # /...print(int1 / int2) print(int1 / float1) # //(整除) 两个数据相除 取商 # 11 / 4 商 2 余 3 print(int2 // int1) #...int1 开根号等于几 int1 ** 0.5 print(int1 ** 2) # 除法运算,结果必定为浮点型 print(9 / 3) # 3.0 # 浮点型参与运算后,结果一定是浮点型...= 2 int2 = int1 print(int1, int2) 6、复合赋值运算符 # += -= *= /= //= %= **= a = 1 # a += 1 >>> a = a + 1

67630

JVM系列之:从汇编角度分析Volatile

我们可以看到设置值的过程是和java源代码的顺序是一致的,是按照int1,int2,int3,int4,int5的顺序一个一个设置的。...从生成的代码,我们可以看到putstatic是按照int1,int5,int4,int3,int2的顺序进行的,也就是说进行了重排序。 如果我们将int2设置成为Volatile,看看结果如何?...这也分别对应了我们increase方法要做的事情。...上图的结果是JIT Watcher的C2编译器的结果,如果我们切换到C1编译器: ? 这次结果没错,5个int都在,同时我们看到这5个int居然没有重排序。...写的内存屏障 再来分析一下上面的putstatic int2: lock addl $0x0,-0x40(%rsp) ;*putstatic int2 {reexecute=0 rethrow=0 return_oop

53941

Bash 条件判断与流程控制相关语句详解

= str2   当字符串 str1 和 str2 不等时为真 -n str1      当字符串的长度大于 0 时为真(串非空) -z str1      当字符串的长度为 0 时为真(空串) str1...        当字符串 str1 为非空时为真 数值的判断 int1 -eq int2   两数相等为真 int1 -ne int2   两数不等为真 int1 -gt int2   int1 大于...int2 为真 int1 -ge int2   int1 大于等于 int2 为真 int1 -lt int2   int1 小于 int2 为真 int1 -le int2   int1 小于等于 int2...为真 文件相关的判断语句 -r file     用户可读为真 -w file     用户可写为真 -x file     用户可执行为真 -f file     文件为普通文件为真 -d file...条件判断 ] then Command else Command fi 举例如下 # 获取操作系统类型 SYSTEM=`uname -s` # [] 内两边必须有空格 # if 与 then 同一行

73040

Shell 条件判断汇总

若文件存在且其大小大于零,则为真 -u file            若文件存在且设置了SUID位,则为真 -w file            若文件存在且可写,则为真 -x...= string2 若两个字符串不相等,则为真 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,则为真 !...可以是任何有效的测试表达式 expr1 -a expr2     若expr1和expr2都为真则整式为真 expr1 -o expr2     若expr1和expr2有一个为真则整式为真 上一篇:对UML

80520

了解和学习基本Shell脚本和Linux文件系统疑难解答 - 第10部分

[INT1 INT2运]应该是前面的列表的一部分,而后面的项目(例如, 当量- >是真的如果int1等于int2)应该是一个“ 孩子 ”名单[INT1 INT2运]其中op是以下比较运算符之一。...当量- >如果int1等于int2是真实的。 -ne - > true,如果INT1不等于int2。 -lt - > true,如果int 1小于INT2。...-le - >真如果int1小于或等于int2。 -gt - > true,如果INT1INT2更大。 -ge - >真如果int1大于或等于int2。...其基本语法是: for item in SEQUENCE; do COMMANDS; done 其中, 项目是表示每次迭代过程序列的每个值的通用变量。...该-quiet标志用于防止grep的从显示屏幕上,其中的字的运行出现的线条。 当发生这种情况,上面的命令返回0退出状态(由$表示?if结构),从而验证该服务正在运行。

70320

面向对象设计的设计模式(十四):策略模式

如果我们将所有的方案硬编码同一个类,那么今后修改,添加,删除某个方案的时候就会改动原有类,这是违反开闭原则的。...场景分析 该场景,传入的两个整数参数是不变的,但是对于这两个整数的具体操作可以灵活切换,那么我们可以使用策略模式:将每个操作(算法)封装起来,需要替换的时候将Context类持有的具体策略实例更新即可...代码实现 首先我们定义好抽象策略类和具体策略类: 因为是针对两个整数的操作,所以抽象策略类,我们只需定义一个传入两个整数的接口即可。...:int1 int2:int2]; } @end Context类构造器(init方法)注入了一个具体策略实例并持有它,而且Context也提供了set方法,让外部注入进来具体策略类的实例。...现在所有的类都定义好了,下面我们看一下具体如何使用: int int1 = 6; int int2 = 3; NSLog(@"int1: %d int2: %d",int1,int2); //

85020
领券