shell学习
运行sh
变量操作
- 创建普通变量:
name=“test”,组要注意的是等号两边不能有空格。 - 创建局部变量:
local name=“test”,使用local修饰的变量在函数体外无法访问,只能在函数体中使用。 - 创建只读变量:
readonly name=test,这种变量不可以被修改。 - 使用变量:
echo $name或者echo ${name} - 删除变量:
unset name,删除之后的变量无法被访问,需要注意无法删除只读变量。
特殊变量
条件判断
-
test condition
-
[ condition ](注意 condition 前后要有空格)
整数之间比较大小
-eq 等于(equal) -ne 不等于(not equal)
-lt 小于(less than) -le 小于等于(less equal)
-gt 大于(greater than) -ge 大于等于(greater equal)
按照文件权限进行判断
-r 有读的权限(read) -w 有写的权限(write) -x 有执行的权限(execute)
[ -w helloworld.sh ]
按照文件类型进行判断
-e 文件存在(existence) -f 文件存在并且是一个常规的文件(file) -d 文件存在并且是一个目录(directory)
多条件判断(三元运算)
&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令
流程控制
if 判断
注意事项:
①[ 条件判断式 ],中括号和条件判断式之间必须有空格
②if 后要有空格
case 语句
for 循环
语法 1
语法 2
while 循环
read 读取控制台输入
read (选项) (参数)
①选项: -p:指定读取值时的提示符; -t:指定读取值时等待的时间(秒)如果-t 不加表示一直等待
②参数 变量:指定读取值的变量名

