首页编程shell if(shell脚本中 if 判断时候-s是什么意思)

shell if(shell脚本中 if 判断时候-s是什么意思)

编程之家2023-11-01169次浏览

大家好,今天我将为大家揭秘shell if和shell脚本中 if 判断时候-s是什么意思的奥秘,希望我的分享能给你带来新的启发和知识。

shell if(shell脚本中 if 判断时候-s是什么意思)

shell脚本中的if中多条件语句如何写。

可以使用 if-elif-else语法来写多条件语句。

1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:

2、if-elif-else语法的具体格式--if单条件多分支,书写方法如下:

3、实例- if单条件多分支,这个实例的输出结果是:a小于 b。

4、实例- if多条件多分支,这个实例输出结果是:a等于 b,或 a小于10。

扩展资料

shell if(shell脚本中 if 判断时候-s是什么意思)

1、shell语法注意事项

shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格,如果在需要空格的地方没有打上空格,就会报错。

如if [ 1== 1 ];then echo"abc";fi中如果在少写了if后面的空格就报错:

2、 shell语法中[[ ]]和[ ]的主要区别

(1) [ ]实际上是bash中 test命令的简写。即所有的 [ expr ]等于 test expr。

对 test命令来说,用-eq要进行数字比较,而你此时传入字符串,就报错了。

shell if(shell脚本中 if 判断时候-s是什么意思)

(2) [[ ]]是内置在shell中的一个命令,它比test强大的多。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达式)。逻辑组合可以不使用test的-a,-o而使用&&||。

shell if 参数

1) bash

a=3; b=2; c=4

if(( a> b))&&(( a< c))

或者

if [[$a>$b ]]&& [[$a<$c ]]

或者

if [$a-gt$b-a$a-lt$c ]

2) a=3; b=2; c=4

if(( a> b))||(( a< c))

或者

if [[$a>$b ]]|| [[$a<$c ]]

或者

if [$a-gt$b-o$a-lt$c ]

3)-o= or,-a= and,但我一向只用||或者&&

4)可用,但是要两个独立的 [ ], [[ ]]或(())

看 1)

5)-ne比较数字(numberic);!=比较字符(string),但后者拿来

比较数字也可,只是不是标准用法

-lt是等同<,但<只能在 shell的数值操作符(())或

者逻缉操作符 [[ ]]才可使用,-lt,-eq,-gt,-ge

-le,这些是 test,就是 [ ]这个内建命令使用的条件操

作符,数字用,=,!=字符用,==这个该是 [[ ]]用的,

可用来比对正规表示式,但用在 [ ]也可,只是不太正统用法

这可以吗?呵呵

shell脚本中 if 判断时候-s是什么意思

[-s FILE ]如果 FILE存在且大小不为0则为真。

其它说明:

[-a FILE ]如果 FILE存在则为真。

[-b FILE ]如果 FILE存在且是一个块特殊文件则为真。

[-c FILE ]如果 FILE存在且是一个字特殊文件则为真。

[-d FILE ]如果 FILE存在且是一个目录则为真。

[-e FILE ]如果 FILE存在则为真。

[-f FILE ]如果 FILE存在且是一个普通文件则为真。

[-g FILE ]如果 FILE存在且已经设置了SGID则为真。

[-h FILE ]如果 FILE存在且是一个符号连接则为真。

[-k FILE ]如果 FILE存在且已经设置了粘制位则为真。

[-p FILE ]如果 FILE存在且是一个名字管道(F如果O)则为真。

[-r FILE ]如果 FILE存在且是可读的则为真。

[-s FILE ]如果 FILE存在且大小不为0则为真。

[-t FD ]如果文件描述符 FD打开且指向一个终端则为真。

[-u FILE ]如果 FILE存在且设置了SUID(set user ID)则为真。

[-w FILE ]如果 FILE如果 FILE存在且是可写的则为真。

[-x FILE ]如果 FILE存在且是可执行的则为真。

[-O FILE ]如果 FILE存在且属有效用户ID则为真。

[-G FILE ]如果 FILE存在且属有效用户组则为真。

[-L FILE ]如果 FILE存在且是一个符号连接则为真。

[-N FILE ]如果 FILE存在 and has been mod如果ied since it was last read则为真。

[-S FILE ]如果 FILE存在且是一个套接字则为真。

[ FILE1-nt FILE2 ]如果 FILE1 has been changed more recently than FILE2, or如果 FILE1 exists and FILE2 does not则为真。

[ FILE1-ot FILE2 ]如果 FILE1比 FILE2要老,或者 FILE2存在且 FILE1不存在则为真。

[ FILE1-ef FILE2 ]如果 FILE1和 FILE2指向相同的设备和节点号则为真。

[-o OPTIONNAME ]如果 shell选项“OPTIONNAME”开启则为真。

[-z STRING ]“STRING”的长度为零则为真。字符串为空即NULL时为真。

[-n STRING ] or [ STRING ]“STRING”的长度为非零 non-zero则为真。加-n与不加-n结果相同。

在linux下shell脚本中if中用到or怎么写

1、没有参数的函数func(){echo"hello world"}func。

2、有参数的写法,其中$1,$2就是参数。func(){echo"hello world"echo"arg1"$1;echo"arg2"$2}func" a1"" a2"。

3、不定参数的函数可以这样写,参数的个数可以通过$#得到。

4、调用其他文件中的函数:注意两个点之间有空格。#test2.sh的内容和test1.sh完全相同。../test2.shfunc“abc”“a”。

5、两个函数名字相同,后面的函数会把前面的函数覆盖掉。../test2.shfunc(){echo"test.sh:func"$1}func"abc""a"。

6、如果函数是有返回值的。可以通过$?来获取返回值fun(){return `expr$1+$2`}fun 1 2echo$?。

关于shell if,shell脚本中 if 判断时候-s是什么意思的介绍到此结束,希望对大家有所帮助。

如何提高alexa排名(如何快速提高ALEXA排名)网吧服务器 网吧一般用那几种服务器