shell

   

第二天shell

定义变量的三种方式{
variable=value 直接赋值
variable='value' 单引号赋值
variable="value" 双引号赋值
其中 variable 是变量名 value 是变量的值
通俗的来看就是 key=value
}
shell变量的命名规范:1 数字.子母.下划线组成
2 必须以字母或者下划线开头
3 严禁使用数字开头
4 不能使用shell里面的关键字

使用变量:在变量名前面加$符号即可
如:author="ken"
echo ${author} 标准写法
echo $author
推荐给所有变量都加上花括号{},这是良好的编程习惯
修改变量的值: 已定义完的变量,可以重新赋值
如: name="gyq"
echo ${name}
name="byr"
echo ${name}
单引号和双引号的区别
1 在单引号里面的变量,是什么就输出什么
2在双引号里面的变量,输出是会仙解析里面的命令和变量
将命令的结果赋值给变量,有两种方式{
1 key=`value` 第一种不常用
2 key=${value} 推荐使用
}
删除命令:unset
变量类型,存在三种变量{
1 局部变量 仅再当前shell中有用
2 环境变量 也称全局变量
3 shell变量 一部分是环境变量 一部分是局部变量

}

特殊变量列表{
$0 当前脚本的文件名
$n 传递给脚本或函数的参数 n 是第一个参数
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
$? 上个命令的退出状态,或函数的返回值
$$ 当前shell进程id。

}
退出状态:
1> $?获取上一个命令的退出状态,即上一个命令执行后的返回结果
2> 一般情况下,大部分命令执行成功会返回0,失败返回1
比如:echo gyq
$? 结果为0
systemctl stop gyq
$? 结果为非0


条件表达式{
1 [ 1 -eq 1]
例如:
[ 1 -eq 2 ] && echo "this is true" || echo "this is false
判断 1 是否 等于2
}
整数比较符{
1 -eq 等于
2 -ne 不等于
3 -gt 大于
4 -lt 小于
5 -ge 大于或者等于
6 -le 小于或者等于
}
字符串比较符{
1 == 等于
2 != 不等于
3 -n字符串长度不等于0为真
4 -z 字符串长度等于0 为真
}
文件测试{
-e 文件或目录存在为真
-f 文件存在为真
-d 目录存在为真
-r 读权限为真
-w 写权限为真
-x 执行权限为真
}
布尔运算符{
1 ! 取反
2 -a 和关系
3 -0 或关系
}
逻辑判断符{
1 && 逻辑和(与)
2 || 逻辑或
}
shell括号用途总结{
推荐 ${}

}

posted @ 2019-02-19 15:55  枕上书的故事  阅读(111)  评论(0编辑  收藏  举报