SHELL编程-续

shell脚本可以看做是命令的堆砌,通过结合命令流程控制机制实现。

解释器 #!/bin/bash或/usr/bin/python 也称为shebang

一般脚本需要赋予执行权限,也可以使用bash xxx.sh 来事先声明

shell的条件判断可以分为

1:整数测试

2:字符串测试

3:文件测试

条件测试表达式

[ expression ] #注意方括号与表达式之间有空格

[[ expression ]] #也有这种格式的测试格式

test expression

整数比较

-eq:两个整数是否相等 #equal

-ne:两个整数是否不等 #not equal

-gt:前一个数是否大于后一个数

-lt:前一个数是否小于后一个数

-ge:前一个数是否大于等于后一个数

-lt:前一个数是否小于等于后一个数

文件测试:

-e /path/to/file :测试文件是否存在

例如:[ -e /etc/inittab ] [ ! -e /etc/inittab ]

-d /path/to/file :测试是否为目录

-f /path/to/file :测试是否为普通文件

-r /path/to/file 测试文件对当前用户是否有读权限

-w /path/to/file 测试文件对当前用户是否有写权限

-x /path/to/file 测试文件对当前用户是否有执行权限

命令间逻辑

逻辑与:&&

逻辑非:!

逻辑或:||

条件判断,控制结构

if 判断条件;then     #单分支

statement1

statement2

...

fi

if 判断条件;then

statement

...

else

statement

...

fi

算数运算

算数运算表达式:

1:let 算术运算表达式  例:let c=$A+$B

2:$[算术运算表达式]   例:C=$[$A+$B]

3:$((算数运算表达式))  例:C=$(($A+$B))

4:expr 算数运算表达式 #表达式中各操作数和运算符之间要有空格,而且要使用命令引用

例:C=`expr $A + $B`

在脚本中使用exit 可以退出当前shell

exit # 自定义返回状态值

#如果脚本没有定义状态退出码,最后一条命令的退出码即为脚本退出码

多分支if语句

if 判断条件;then

statement

...

elif 判断条件2;then

...

...

else

...

fi

测试脚本

bash -n xxx.sh #简单检查脚本语法错误。

bash -x xxx.sh #可查看每个语句的执行结果,来检查错误。

时间: 2024-10-13 14:47:33

SHELL编程-续的相关文章

Linux Shell编程讲解

Shell编程总结 Seq命令总结用法: 选项: -f, --format=格式使用printf 样式的浮点格式 -s, --separator=字符串使用指定字符串分隔数字(默认使用:\n) -w, --equal-width 在列前添加0 使得宽度相同实例 来自: http://man.linuxde.net/seq 1.横着打印数字 2.竖着打印数字: 3.用seq输出,交给bc命令计算 注:可以计算加减乘除,浮点数,进制转换 Echo命令用法总结: echo 选项列表 选项 描述 -n

老男孩新书Shell编程实战预定开始了-包邮包答疑

老男孩新书Shell编程实战预定开始了(扫图中二维码购买包邮定期包答疑),亲爱的伙伴们,让你们久等了.电脑用户猛戳 电脑购买链接 注意:包邮包3个月(2017春节后起算)Q群书籍内容答疑,等于白送书,还倒搭答疑服务. 如果觉得给力,请帮忙朋友圈.QQ群.空间转载! 活动优惠仅限本次活动,从其他渠道购买不享受此次的服务承诺. 定价 89元 基本信息 作者: 老男孩 丛书名: Linux/Unix技术丛书 出版社: 机械工业出版社 ISBN:9787111556077 上架时间:2017-1-6 出

shell编程中for,while,util,case,select,break, continue用法详解

关于shell脚本的更多详细实例讲解请参考:http://www.cnblogs.com/yuexiaxiaoxi/category/646749.html Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for.while和until.while循环和for循环属于"当型循环",而until属于"直到型循环".循环控制符:break和continue控制流程转向. 参考:<Linux 与unix shell 编程指

shell编程(七)--- sed的用法

sed:称为流编辑器,也称为行编辑器. sed处理过程:sed读取源文件中的一行,并将其放在临时缓冲区中,这个缓冲区称为模式空间,使用相应的模式对模式空间进行处理,并将处理的结果显示到屏幕上,并不会影响源文件,处理结束后,将模式空间中的内容显示至屏幕. sed格式: sed [options] 'AddressCommand' file ... options: -n:静默模式,不显示模式空间中的内容,默认显示默认空间中的内容.常和p命令一起使用. -i:直接修改源文件的内容. -e 'Addr

shell编程基础必知

shell编程 ################################################ 静态语言 动态语言 ################################################ 编程语言:机器语言,汇编语言,高级语言 ################################################ 面向对象的编程语言:sehll c 面向对象的编程语言:JAVA Python perl c++ ################

shell编程详解(一)

shell编程 语言分为: 编译型语言:先要事先转换成可执行格式 解释型语言:边解释边执行 变量:shell是弱类型编程语言,变量不需要先指明类型及初始化,而是由上下文决定类型 bash变量类型: 环境变量 本地变量 位置变量 特俗变量 本地变量:作用域为整个bash进程 VARNAME=value 局部变量:作用域当前代码 local VARNAME=value 环境变量:作用域为当前shell进程及子进程 export VARNAME=value 条件判断 hash中如何实现条件判断? 条件

linux shell编程

1.什么是shell 2. 还是hello world程序 3. shell中的变量 3.1 系统变量 3.2 用户定义变量 3.2.1 用户定义变量规则 3.2.3 shell如何使用变量 3.2.3 全局变量 vs 局部变量 4. shell编程中的控制结构 4.1 条件判定 4.1.1 简单条件判定 4.1.2 组合判定 4.2  if - else 4.3 for 4.4 while 4.5 case 5. shell中的函数 5.1 函数声明和定义 5.2 函数调用 6. shell脚

centos shell编程4【分发系统】 第三十八节课

centos shell编程4[分发系统]  第三十八节课 http://www.cnblogs.com/MYSQLZOUQI/p/4811790.htmlmkpasswd 生成密码的工具,安装 expect包 yum install -y expect 上半节课 下半节课 f

第三章 shell编程之运算符

shell编程之运算符 一 shell变量的缺点 弱类型: 默认字符串型: 二 declare声明变量类型 格式:declare [+/-][选项] 变量名 -:给变量设定类型属性: +:取消变量的类型属性: -a:将变量声明为数组型: