linux基础(6)-shell编程
2016-07-27 20:33
363 查看
shell脚本
shell脚本程序:以文件形式存放批量的linux命令集合,该文件能够被shell释放执行。通常由一段linux命令、shell命令、控制语句以及注释语句构成。
shell脚本特点:
第一行需指定用哪个程序来编译和执行脚本,如#!/bin/bash 或者#!/bin/sh
通常shell脚本以.sh为后缀
shell脚本执行权限:
有执行权限,可以./filename.sh
无执行权限,可以sh filename.sh
变量与引用
定义变量
定义变量时变量名不加美元符号
注意等号两边不能有空格如:name="wujiadong"
变量名不能以数字开头
export命令可以使变量用于子进程
变量赋值时,若值中有空格,必须使用双引号括起来
使用变量
使用一个定义过的变量,只要在变量名前加美元符号。
显示变量:echo $name 或echo ${name}
清除变量:unset name
实例1
test11.sh
test12.sh
执行sh.test11.sh
控制结构
判断
test -e filename 表示是否存在
-e 是否存在
-f 是否存在且为档案(file)
-d 是否存在且为目录(directory)
-r 是否存在且有可读权限
-w 是否存在且有可写权限
-x 是否存在且有可执行权限
两个数之间判断 :test n1 -eq n2
-eq 两数值相等(equal)
-ne 两数值不等(not equal)
-gt n1大于n2(greater than)
-lt n1小于n2(less than)
-ge n1大于等于n2(great than or equal)
-le n1小于n2(less than or equal)
判断字符串的数据
test -z string 判断字符串是否为0,string为空字符串,则为true
test -n string 判断字符串是否非为0,string为空字符串,则为false。注:-n可省略
test str1 = str2 判断str1是否等于str2,若相等,则回传true
test str1 != str2 判断str1是否不等于str2,若相等,则回传false
if else
shell脚本程序:以文件形式存放批量的linux命令集合,该文件能够被shell释放执行。通常由一段linux命令、shell命令、控制语句以及注释语句构成。
shell脚本特点:
第一行需指定用哪个程序来编译和执行脚本,如#!/bin/bash 或者#!/bin/sh
通常shell脚本以.sh为后缀
shell脚本执行权限:
有执行权限,可以./filename.sh
无执行权限,可以sh filename.sh
变量与引用
定义变量
定义变量时变量名不加美元符号
注意等号两边不能有空格如:name="wujiadong"
变量名不能以数字开头
export命令可以使变量用于子进程
变量赋值时,若值中有空格,必须使用双引号括起来
使用变量
使用一个定义过的变量,只要在变量名前加美元符号。
显示变量:echo $name 或echo ${name}
清除变量:unset name
实例1
test11.sh
#!/bin/bash v1="feigu" export v2="wujiadong" #export命令可以使变量用于子进程 echo "显示v1:$v1" echo "显示v2:$v2" sh test12.sh
test12.sh
#!/bin/sh echo "引用变量v1:$v1" echo "引用变量v2:$v2"
执行sh.test11.sh
控制结构
判断
test -e filename 表示是否存在
-e 是否存在
-f 是否存在且为档案(file)
-d 是否存在且为目录(directory)
-r 是否存在且有可读权限
-w 是否存在且有可写权限
-x 是否存在且有可执行权限
两个数之间判断 :test n1 -eq n2
-eq 两数值相等(equal)
-ne 两数值不等(not equal)
-gt n1大于n2(greater than)
-lt n1小于n2(less than)
-ge n1大于等于n2(great than or equal)
-le n1小于n2(less than or equal)
判断字符串的数据
test -z string 判断字符串是否为0,string为空字符串,则为true
test -n string 判断字符串是否非为0,string为空字符串,则为false。注:-n可省略
test str1 = str2 判断str1是否等于str2,若相等,则回传true
test str1 != str2 判断str1是否不等于str2,若相等,则回传false
if else
if 条件 then 命令 fi 或者 if 条件 then 命令1 else 命令2 fi 或者 if 条件1 then 命令1 elif 条件2 then 命令2 else 命令3 fi 注意:这里elif是else if的缩写,但不支持else if的写法
相关文章推荐
- shell编程
- linux 下c/c++ 使用shell命令并加入参数、保存结果
- sh 执行hive 查询 [文件名 要看全] -1
- androidStudio遇到$ adb shell pm uninstall错误
- 递归阶乘
- linux上bash的基础特性
- shell(Bash) script初学笔记
- linux c/c++ 中使用shell命令
- shell编程
- HDU 1846 Bash博弈
- PowerShell管理IIS
- 巡检脚本
- Shell防止暴力破解主机
- shell编程手札
- shell实现磁盘分区由MBR转换为GPT
- CSU 1765 简单shell 模拟
- Linux:shell完美获取上月,本月,下月年月
- HDU 2897 Bash博弈变形
- /bin/bash: line 0: fg: no job control一般解决方法
- 用shell获得hadoop中mapreduce任务运行结果的状态