首页 > 代码库 > shell脚本(二)
shell脚本(二)
一 test条件判断
如果表达式为true,返回0退出状态,如果表达式为false,则返回非零退出状态。test具有替代语法,使用括号“[]”将表达式括起来,更易于阅读
1。字符串比较运算符: = ; !=
**) “ = ” 对两个字符串进行比较,相等则返回零推出状态,不相等则返回非零退出状态
**)“ != ” 对两个字符串进行比较,不相等则返回零退出状态,相等则返回非零退出状态
2、数字比较符运算:
-eq 检测两个数是否相等,相等则返回ture
**) 输入一个ip ,检测该主机是否开机,当没有输入ip时提示用户输入ip
-ne 检测两个数是否相等,不相等则返回true
-lt 检测左边的数是否小于右边的,如果是,则返回true
-le 检测左边的数是否小于等于右边的,如果是,则返回true
-gt 检测左边的数是否大于右边的,如果是,则返回true
-ge 检测左边的数是否大于等于右边的数,如果是,则返回true
*)输入两个数,将这两个数相加,判断他们的结果是否大于10
3、文件状态运算符:
-b file 检测文件是否是块设备,如果是,则返回true
-c file 检测文件是否是字符设备文件,如果是,则返回true
-d file 检测文件是否是目录,如果是,则返回true
-f file 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回true
-w file 检测文件是否可写
-x file 检测文件是否可执行
-s file 检测文件是否为空,不为空则返回true
-e file 检测文件是否存在,如果是,则返回true
-L file 检测文件是否为链接,如果是,则返回true
**)输入文件名,显示文件的状态
4.逻辑运算符,
! 非运算,表达式为true时,则返回false,否则返回true
-o 或运算,有一个表达式true则返回true
-a 与运算,两个表达式都为true才返回true
&& 返回为true时执行命令
|| 返回为false时执行命令
二、if语句
if命令检查if后面的命令或列表的退出值。如果第一个命令评估值为true,则运行then之后的命令列表,直至else。,如果第一个命令的评估为false非零,则运行else与fi之间的命令列表(反向写if,标记if块的结束)
示例:
**)自动建立目标文件中的用户,并添加密码westos
三、expect语句
在shell中利用exprct实现自动应答脚本
*)自动应答ssh远程连接时的问题
*)利用自动应答脚本远程连接主机并抓取该主机的主机名
四、 环境变量
shell和脚本使用变量来存储数据,有些变量可以连同他们的内容传递给子进程,这些变量称为环境变量
*)env 显示所有环境变量
*)利用alias定义属于自己系统命令,将命令写入.bashrc文件永久生效
##讲“mv” 命令改为 “HH”
shell脚本(二)