通过${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)

动态数组: array=($(ls))

echo ${#array[@]} 打印数组长度

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 给脚本执行权限