shell表达式
- shell的验证表达式
- 表达式的表达方式
- 方法1
- [ 表达式 ]
- 方法2
- test 表达式
- 备注
- 表达式两边必须要有空格,表达式之间需要有空格
- 如果结果为真返回0,结果不为真则返回其他
- 表达式由变量和运算符构成
- 表达式的运算符
- shell的数字运算符
- 表达式格式
- [ n1 –gt n2 ]
- 表达式参数
- -gt 大于
- -lt 小于
- -eq 等于
- -ne 不等于
- shell的字符串运算符
- 表达式格式
- [ n1 == n2 ]
- [ -z n1]
- 表达式参数
- == 判断两个字符串是否相等
- != 判断连个字符串是否不一致
- -z 判断字符串长度是否为0
- -n 判断字符串长度是否不为0
- shell的文件运算符
- 表达式格式
- [ 文件运算符 文件名 ]
- 文件运算符
- -f 判断输入的内容是否是一个文件
- -d 判断输入的内容是否是一个目录
- -x 判断输入的文件是否有执行权限
- -e 判断输入的内容表示的文件是否存在
- -r 判断文件是否可读
- -w 判断文件是否可写
- shell逻辑表达式
- && 并
- 表达式格式
- 命令白表达式1 && 命令表达式2
- 效果
- 如果命令1执行成功,则执行命令2
- 如果命令1执行失败,则不执行命令2
- || 或
- 表达式格式
- 命令1 || 命令2
- 效果
- 如果命令1执行成功,则不执行命令2
- 如果命令1执行不成功,则执行命令2
python的流程控制
- shell流程控制的分类
- 简单的流程控制
- 选择流程
- if语句
- 单if语句 双if语句 多if语句
- case语句
- 循环流程
- for循环
- while循环
- until循环
- 复杂的流程控制
- 函数
- shell中流程控制规则
- 缩进
- shell中的缩进没有作用,只是为了好看
- 符号成对写
- [ ] ( ) { }
- 流程控制语句一定要先写完
- 选择流程控制语句
- if语句
- 单if语句写法
- if 条件语句;
- then
- 执行语句
- fi
- 双if语句
- if 条件语句1 ;
- then
- 执行语句1
- else
- 执行语句2
- fi
- 多if语句
- if 条件语句1;
- then
- 执行语句1
- elif 条件语句2;
- then
- 执行语句2
- else
- 执行语句3
- fi
- case语句
- case语句写法
- case 值 in
- 值1)
- 执行语句1
- ;;
- 值2)
- 执行语句2
- ;;
- 值3)
- 执行语句3
- ;;
- esac
- 循环控制语句
- for循环语句
- for 条件表达式;
- do
- 执行语句
- done
- while循环
- while 条件表达式;
- do
- 执行语句
- done
- until循环语句
- 使用方法
- until 条件表达式;
- do
- 执行语句
- done
- until语句的特点
- 当条件不成立时,执行循环,一旦条件成立则结束循环
- 函数
- 函数的使用场景
- 不带参数的函数,应用在重复功能封装的情况下
- 带参数的函数,应用在条件判断执行的情况下
- 定义函数
- func_name(){
- args=$n (不写此行代表函数不需要接受参数)
- 函数体
- }
- 调用函数
- func_name args1 args2
将shell脚本设置为系统环境变量的方法
- 1、直接在命令行中设置PATH
- # PATH=$PATH:/usr/local/apache/bin
- 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH设置就会失效。
- 2、在profile中设置PATH
- # vi /etc/profile
- 找到export行,在下面新增加一行,内容为:export PATH=$PATH:/usr/local/apache/bin。
- 注:= 等号两边不能有任何空格。这种方法最好,除非手动强制修改PATH的值,否则将不会被改变。
- 编辑/etc/profile后PATH的修改不会立马生效,如果需要立即生效的话,可以执行# source profile命令。
- 3、在当前用户的profile中设置PATH
- # vi ~/.bash_profile
- 修改PATH行,把/usr/local/apache/bin添加进去,如:PATH=\$PATH:$HOME/bin:/usr/local/apache/bin。
- # source ~/.bash_profile
- 让这次的修改生效。
- 注:这种方法只对当前用户起作用的,其他用户该修改无效。