linux操作系统基础篇

Posted 牛斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux操作系统基础篇相关的知识,希望对你有一定的参考价值。

shell脚本的运算符与流程控制

1.运算符

1.1 算术运算符

+

-

*

/

%

[[email protected] ~]# echo $[3+1]
4

1.2 关系操作

与(())连用

<

>

<=

>=

==

!=

&&

||

test命令相关,[]可以达到一样的效果
[[email protected] ~]# x=1
[[email protected] ~]# [ $x -gt 1 ]
[[email protected] ~]# echo $?
0

1.3 赋值运算符

=

+=

*=

/=

%=

[[email protected] ~]# x=10
[[email protected] ~]# ((x%3))
[[email protected] ~]# echo $x
10
[[email protected] ~]# 
[[email protected] ~]# ((x%=3))
[[email protected] ~]# echo $x
1

1.4 shell里的所有计算器
$[] (()) $(()) expr bc bc -l

浮点运算:yum install bc -y

[[email protected] ~]# echo ‘scale=2;1/3‘|bc -l
.33

1.5 测试操作

命令执行后会返回到一个系统变量中 $?
如果$?值为0 表示命令执行成功 否则为失败


测试命令 test [ ] [[ ]] (( ))
打开man test 逐一介绍每个参数
1.6、测试文件状态
-d 目录
-s 文件长度 > 0、非空
-f 正规文件
-w 可写

-r 可读

-x 可执行

-L 符号连接

-u 文件有 suid 位设置

1.7、字符串测试
= 两个字符串相等
!= 两个字符串不相等
-z 空串
-n 非空串

[[email protected] ~]# var1=‘abc‘
[[email protected] ~]# var2=‘123‘
[[email protected] ~]# [ $var1 == $var2 ]
[[email protected] ~]# echo $?
1

1.8、测试数值
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

[[email protected] ~]# [ 10000 -gt 250 ] #不要使用大于号小于号等于号等,要使用man test中规定的,详见下一小节4拓展
[[email protected] ~]# echo $?
0

1.9、拓展测试符号 [[ ]] (())
数字测试符号
# [ 10 < 2 ] # 语法错误
-bash: 2: 没有那个文件或目录


# [[ 2 > 10 ]] # 结果错误
# echo $?
1
# [[ 20 > 10 ]] # 正确
# echo $?
0
# (( 10 < 20 ))
# echo $?
0

字符测试
# [ "aa" = "aa" ]
# echo $?
0
# [[ "aa" = "aa" ]]
# echo $?
0
# (( "aa" = "aa" )) #结果错误
# echo $?
1
混合测试
# [ a = a -a 10 < 20 ]
-bash: 20: 没有那个文件或目录
[[email protected] ~]# [[ a = a -a 10 < 20 ]]
-bash: syntax error in conditional expression
-bash: syntax error near `-a‘
[[email protected] ~]# [[ a = a && 10 < 20 ]]
[[email protected] ~]# echo $?
0
[[email protected] ~]# [[ a = a || 10 < 20 ]]
[[email protected] ~]# echo $?
0
[[email protected] ~]# (( a = a || 10 < 20 ))
[[email protected] ~]# echo $?
0
[[email protected] ~]# (( a = a && 10 < 20 ))
[[email protected] ~]# echo $?
0

二.流程控制

1.if的使用

if通常 是 

if [判断条件];then      #如果条件满足那么

  echo ‘输出内容’          #输出内容

else 

  echo ‘输出内容’        #否则输出

fi                         #fi来关闭

也可以加elif来实现多次判断

2.循环控制

while  (条件)

do    动作

done      完成

如果while后面加:那么这条控制进入无限循环。

for循环

for i in [1..100]

do

done

for循环的语法结构

 

在循环中 

利用continue   在某一层进行循环的退出操作。

而break则是某一块进行循环的退出操作。

 




















































































以上是关于linux操作系统基础篇的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础篇

linux操作系统基础篇

linux基础篇Linux 基础优化配置

linux操作系统基础篇

Linux基础篇(系统管理)

linux操作系统基础篇