Sheel 脚本 基本语句及逻辑关系比较
来源:互联网 发布:怎么优化直通车关键词 编辑:程序博客网 时间:2024/05/02 03:00
Linux下的Sheel脚本编写比较重视格式。
1.sheel 的编写,每个文件第一行开头需要加上 #!/bin/bash
不该有的空格绝对不能加,否则就会出错。
表示变量内容时,需要加上$,如:s=1,需要用到s的数值时,需要写成$s。
2.利用判断符号 [ ]
判断符号有着严格的格式,空格不能够省略,空格的位置如下(□代表空格)
[□条件□==□条件□]
中间可以是等号也可以是其他比较符号
3.sheel脚本的默认变量。
sehll脚本的文件名字就是 $0 ,在执行该脚本的时候后面跟的参数依次为:$1 $2 $3 ......
$#:代表后接的参数“个数”
$@:代表"$1"、"$2"、"$3",每个变量是独立的(用双引号括起来)
$*:代表““$1c$2c$3””,其中c为分隔字符,默认为空格键。
4.shift 造成参数变量号码偏移
shift 默认偏移一个 ,shift 后也可以接数字, 即出现shift 语句后,变量会去掉前面相对应数字个数的变量。
如 原来变量为 1 2 3 4 5 6 ,出现shift后变成 2 3 4 5 6 ,再出现shift 3 后 ,变成 5 6
5.if...then
if [条件判断式];then 条件成立时执行的句子fi 反过来写,结束的意思注意:利用[ ] 写条件判断式的时候需要注意空格不能省略。
if...else
if [条件判断式];then 成立时执行语句else 条件不成立时执行语句fi fi不可省略
if [条件判断式1];then 语句1elif [条件判断式2];then 语句2else 语句3fi
6.case....esac
多重判断选择
case $变量名称 in"第一个变量内容") 执行语句 ;;"第二个变量内容") 执行语句 ;;esac
7.function
function 名字(){ 执行语句}
函数在执行时,也可以后面跟上参数,而这时在函数里面的$#,$@,$*之类的就是后面所跟的参数。
8.for...do...done
for var in con1 con2 con3...do 执行语句done
9.for...do...done的另一个写法
for ((初始值;限制值;步进值))do 执行语句done例:计算1+2+。。。
#!bin/bashs=0<span style="white-space:pre"></span>#s赋初始值,不能有空格read -p "input number:" x #x前面有一个空格for ((i=1;i<=$x;i=i+1))do s=$(($s+$i))<span style="white-space:pre"></span>#$(())格式应该是这样doneecho "$s"
10.for do done,until do done
for do done
while [条件判断式]do 执行语句done 结束语句
until do done
until [条件判断式]do 执行语句done 结束语句
11.shell的追踪与调试
sh 后加参数 能够进行调试
-n:不用执行脚本,仅查询语句的问题
-v:再执行脚本前,先将脚本的内容输出的屏幕上
-x:将使用到的脚本内容显示到屏幕上
12.两个整数之间的判定
例如:test n1 -eq n2
-eq 两数值相等(equal)
-ne 两数值不能(not equal)
-gt n1大于n2(greater than)
-lt n1小于n2(less than)
-ge n1大于等于n2(greater than or equal)
-le n1小于等于n2(less than or equal)
13.文件的判断
1.关于文件名的“文件类型”判断
例如:test -e filename(满足条件为真,反之为假)
-e 该文件名是否存在
-f 该文件名是否存在且为文件
-d 该文件名是否存在且为目录
2.关于文件的权限检测
-r 检测该文件是否存在且具有“可读”的权限
-w 检测该文件是否存在且具有“可写”的权限
-x 检测该文件是否存在且具有“可执行”的权限
-u 检测该文件是否存在且具有“SUID”的属性
-g 检测该文件是否存在且具有“SGID”的属性
-k 检测该文件是否存在且具有“Sticky bit”的属性
-s 检测该文件是否存在且为“非空白文件”
- Sheel 脚本 基本语句及逻辑关系比较
- 汇编与C的基本逻辑语句对应关系
- linux sheel脚本里面,在if语句里“$? -eq o” 这是什么意思!!!
- linux sheel脚本里面“$? -eq o”
- PHP运行及语句及逻辑
- Linux下用sheel脚本完整实现tree功能
- 基本语句及栗子
- shell脚本实现逻辑关系与、或、非
- 逻辑坐标、设备坐标的比较和关系
- Java 基础语法 条件语句,关系,逻辑表达式
- 【编程规范系列】if 语句中的关系表达式/逻辑表达式
- 数字电路-----基本逻辑运算及集成逻辑门
- 比较不常见不成逻辑的sql语句
- 逻辑关系
- 逻辑关系
- 16-JavaScript-基本语法-运算符-算术-关系-逻辑
- SQLserver基本脚本语句 (整理)
- SQL基本语句及基础知识
- hihoCoder 1303 模线性方程组
- 软考——人生迷茫篇
- 日期类型
- linux与windows文件共享及全屏
- Linux服务器安全配置
- Sheel 脚本 基本语句及逻辑关系比较
- Eclipse 修改默认的keystore签名文件
- 最新版scala2.11.8与spark1.6.1一步到位安装
- java之JFrame、JPanel混合布局
- Redis单机安装及启动
- 303. Range Sum Query - Immutable
- 快速排序的非递归实现
- Django后台获取前端post上传的文件
- 动态代理实现Spring Aop