您的位置:首页 > 运维架构 > Shell

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

#!/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的写法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: