天天看点

定义/赋值数组、 expect预期交互

通过${x:-word}判断变量是否存在,决定是否给变量赋初始值。

例: ${x:-123456}

如果变量x没有赋值,则默认值为123456。

一般用与密码

定义/赋值数组

x=(www ftp mail cluv)

0 1 2 3

(变量的编号从0开始,空格代表分隔)

set |grep "x" 查看数组定义结果

x=([0]="www" [1]="ftp" [2]="mail" [3]="cluv")

echo ${x[0]}

输出结果:www

给y赋值:

y[0]="www"

y[1]="ftp"

y[2]="abc"

y[3]="hjd"

y=(www ftp adc hjd)

expect预期交互

安装expect

例:远程一台服务器

格式:

vim expect_ssh.sh 

#!/bin/bash

host=192.168.4.5

expect << EOF

spawn ssh root@$host 创建交互式进程

expect "password:" { send "123456\n" } 自动发送密码

expect "# { send "echo abc \n" } 发送命令

expect "#" { send "exit\n" } 发送命令

EOF

chmod +x expect_ssh.sh 给脚本执行权限

     本文转自夜流璃雨 51CTO博客,原文链接:http://blog.51cto.com/13399294/2054922,如需转载请自行联系原作者