1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > linux逻辑表达式 循环结构 函数

linux逻辑表达式 循环结构 函数

时间:2021-02-22 11:22:11

相关推荐

linux逻辑表达式 循环结构 函数

1.bash 算数运算

+ - * / %

+=

-=

*=

/=

以上4种常用let ...

++/--sum;sum++/--

算数运算 1.let A=2+3

2.$[2+3]

3.$((2+3))

4.expr

2.语句的逻辑运算

&& 与 A&&B

|| 或 A||B

! 非 !A

逻辑与(&&)和逻辑或(||) 均是短路操作符

所谓短路操作符就是如果A语句足够完成对整个逻辑与 或者 逻辑或 语句的真假判断,任凭B语句写地多么高明高超高效都不会再执行了

例如 对于逻辑与(&&) A&&B 如果A是假,无论B是什么 A&&B语句的结果都为假 B不再执行

对于逻辑或(||) A||B 拂过A是真,无论B是什么 A||B语句的结果都为真 B不再执行

总结:如果A发生 则执行 B;如果A未发生则不执行B 可写成 A&&B

如果A不发生则执行B;如果A发生则不执行B 可写成 A||B

记:1.未发生理解为假,发生理解为真;

2.选择B不执行的条件判断句

3.若是A发生则是A||B

若是A未发生则是A&&B

注意:ping命令在Linux下不带任何参数是一直执行的 所以 用选项C来指定ping几个包

ping -c1 -w1 172.16.17.29

3种逻辑运算符的优先级

!>&&>||

注意,使用逻辑运算符时要慎用(),因为当前shell会为()中的内容打开一个子shell执行其内容 有时这会带来很×××烦

A&&B||C 表示如果A为真,则执行B 如果A为假,则执行C

更多组合具体分析

3.条件测试:

判断某个命令是否可以执行成功,并且以此作为后面命令执行是否进行的条件

有条件的执行,需要判断测试条件是偶满足

4.bash中如何进行条件测试

测试表达式:1.[空格condition空格]

2.[[空格condition空格]]

3.test condition

条件测试种类:

1.整数测试 condition:1.num1空格-eq空格num2 num1是否等于(equal)num2

2.num1空格-gt空格num2 num1是否大于(greater than)num2

3.num1空格-ge空格num2 num1是否大于等于(greater than or equal)num2

4.num1空格-lt空格num2 num1是否小于(less than)num2

5.num1空格-le空格num2 num1是否小于等于(less than or equal)num2

6.num1空格-ne空格num2 num1是否不等于于(no equal)num2

2.字符串测试 conditon:1.str1空格==|=空格str2 串str1是否匹配串str2

2.str1空格!=空格str2 串str1是否不匹配串str2

3.-z空格"string" 串string是否为空

4.-n空格“string” 串string是否不为空

3.文件测试condition:1.-e空格file file是否存在

2.-f空格file file是否为普通文件

3.-d空格file file是否为目录

4.-L|h空格file file是否为一个链接(软链接)

5.-b空格file file是否为块设备文件

6.-c空格file file是否为字符设备文件

7.-r空格file 当前用户或shell是否对文件有读权限

8.-w空格file 当前用户或shell是否对文件有写权限

9.-x空格file 当前用户或shell是否对文件有执行权限

注意:linux下目录与文件不能重名,使用-e file判断文件或目录存在更好

组合条件测试

[空格CONDITION1空格-aCONDITION2空格..]=[空格CONDITION1空格]&&[空格CONDITION2空格].. 与 条件同时满足时为真

[空格CONDITION1空格-oCONDITION2空格..]=[空格CONDITION1空格]||[空格CONDITION2空格].. 或 条件至少有一个满足时为真

!空格[空格CONDITION空格]非 取反

5.选择分支(使用if...fi)

1.单选择分支

if condition;then

statement

...

fi

2.双选择分支

if condition;then

statement

...

else

statement

...

fi

3.多选择分支

if condition1;then

statement

...

elif condition2;then

statement

...

elif condition3;then

statement

...

...

...

else

statement

...

fi

选择分支(使用case)

case $VARIABLE_NAME in]

value1)

statement1

;;

value2)

statement1

;;

value3)

statement1

;;

*)

statement1

;;

esac

Attention

1.每一个分支必须以“;;”结束

2.value中可以使用..|..或

3.*代表匹配除上述列出value1..n的任何字符,所以如果传递进来的参数是*,必须使用转义\*以示跟关键字“*"不同

5.for VARIABLE_NAME in LIST;do

statement1

..

done

LIST三种形式

1.{1..10}

2.seq 1 10 需要带命令替换··反引号 seq 1 2 10 带3个参数表示从1开始,以2为增幅,到10结束

3.1 2 3 4 5

4.$VARIABLE_NAME 将遍历的内容存到一个变量里面并引用

6.while CONDITION;do

statement1

..

done

Attention:1.条件满足时进入循环

2.循环执行的语句一定要包含改变CONDITION的语句

while read VARIABLE_NAME ;do

statement1

..

done</etc/passwd

Attention:1.当文件为空 read VARIABLE_NAME 此命令的退出码不为0 即退出循环

2.当文件遍历到最后一行后,再遍历,read VARIABLE_NAME的执行结果也不为0 即退出循环

7.until CONDITION;do

statemeng1

..

done

Attention:1.条件满足是退出循环

2.2.循环执行的语句一定要包含改变CONDITION的语句

8.循环控制条件

break 中断循环,而执行循环体后面的语句

continue 中断当前这一次循环,提前进入下一次循环

9.脚本如何接受参数

#bash shell a b c...

在shell文件中使用

$1来引用第1个参数,$2来引用第2个参数,以此类推到第10个之后有所改变,${10}来引用第10个参数,...,${11}来引用第11个参数

10.设初值/默认值: FILE=$[FILE:-/etc/issue]

当变量FILE为空时,将/etc/issue赋值给FILE

当变量FILE不空时,将FILE本身赋给自己

函数 function

目的:代码重用

做法:在主程序的某个位置调用函数

定义函数(两种格式)

1.function F_NAME空格{

body

return 0;成功

1-255;失败

}

2.F_NAME空格{

body

return 0;成功

1-255;失败

}

调用函数

F_NAME argument1 argument2

Attention:函数体中调用函数参数,需要使用$1 $2...做法与shell-script调用外部参数类似

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。