|
linux中默认的shell有一下几种:
1.bash(发行版默认)
2.csh
3.ksh
4.tcsh
shell是一种解释性的脚本语言
脚本语言还有 python(比较流行) perl php等等
1.变量
bash变量的类型:
1.环境变量:作用域为当前shell进程及其子进程
2.本地变量(局部变量)
3.位置变量
4.特殊变量
首先介绍一下环境变量:
添加环境变量 export VARNAME=VALUE
脚本执行时,会启动一个子shell进程,命令行中启动的脚本会继承当前shell环境变量;
系统自动启动执行的脚本(非命令行启动)就需要自己定义需要的环境变量.
本地变量或者称作局部变量
声明方式: VARNAME=VALUE 作用域为整个bash
local VARNAME=VALUE 作用域为当前的代码段
位置变量
$1:表示引用命令行的参数列表中的第一个参数
$2:表示引用命令行参数列表中的第二个参数
...以此类推
...等等
shift /shift n: shfit表示删除参数列表中的第一个,后面每一个都向前移动, shitf n表示删除前n个, 后面的向前移动
特殊变量
$?:上一个命令执行状态的返回值
$? 若为0,表示前一条命令正确返回,1-255,表示错误执行(1,2,127系统预留,最好不使用)
$#:命令行参数列表的个数
$*:命令行传递的参数列表
$@:命令行传递的参数列表
变量的引用 ${VARNAME} ,一般花括号可以省略(若不会引起变量名歧义)
''单引号表示强引用,引号中的变量不替换
""双引号为弱引用,引号中的变量会替换
所以做变量替换时注意使用双引号
撤销变量
unset VARNAME
查看变量
set
查看环境变量
env
printenv
export
变量名:只能包含字母数字下划线,并且不能以数字开头,不应该跟系统中已有的变量重名,最 好做到见名知意。
2.bash中如何实现条件判断
条件测试类型:整数测试,字符测试,文件测试
一、整数测试
表达式:
[ expression ]
` expression `
test expression
注意:中括号和expression必须用空格分开
命令有:
-eq:相等
-ne:不相等
-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于
二、字符测试
表达式
[ expression ]
` expression `
关键字有
==:等于
!=:不等于
>/>=:大于/大于等于
|
|
|