第一章、变量
自定义变量
1.什么是变量
用一段固定的字符串,代替不固定的字符串
2.如何定义变量,如何定义隐示变量
变量名=变量值
name=zhutong
read -p "请输入密码: " -s -t pass
3.调用变量
$name ${name}
4.输出变量
echo $name
5.变量的切片
url=www.baidu.com
echo ${url:4:5} #取索引号为4后面的5个
环境变量
5.环境变量的作用
环境变量可以被子shell使用(继承)
6.如何定义环境变量
export $name
export $name=zhutong
位置变量和预定义变量
8.什么是预定义变量
$1 $2 .............$9
9.为什么使用位置变量
方便 灵活 用户自定义
for i in `seq $1`
do
echo $1
done
10.read 和$1 的区别?
read需要会话
11.预定义变量有哪些?
$* 所有参数
$@ 所有参数
$# 参数字符个数
$$ PID
$? 返回值
$! 上一个进程的pid
第二章、流程控制if判断
13.为什么使用流控?
因为事件有多种可能
14.条件测试分哪三种?
数值测试
字符测试
文件测试
15.文件测试的语法和示例
[ -f /1.txt ] 测试该文件是否存在且是否是文件
[ -d /home ] 测试是不是目录
16.数值测试i
[ 2 -eq 2 ] 测试两个数值的关系
[ $num1 -gt $num2 ]
17.字符测试
[ $name1 == $name2 ] 测试字符1是字符2
[ $name1 != $name2 ] 测试字符1不是字符2
- if 判断单分支语句结构
没有httpd 并安装
httpd -v &> /dev/null
if [ $? -ne 0 ];then
yum -y install httpd
fi
19.if 判断双分支语句结构?
没有装httpd 则安装
安装了,则告知消息
if [];then
echo
else
fi
20.解决交互问题
yum install -y expect tcl tclx tcl-devel
spawn 启动shell程序
expect {期望,对话的开始}
#!/usr/bin/expect
spawn ssh root@192.168.0.111
expect {
"yes/no" { send "yes\r";exp_continue }
"password:" { send "666666\r" };
}
interact #保留程序
expect eof #结束程序
网友评论