博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
定义/赋值数组、 expect预期交互
阅读量:7145 次
发布时间:2019-06-29

本文共 663 字,大约阅读时间需要 2 分钟。

通过${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 给脚本执行权限

转载于:https://blog.51cto.com/13399294/2054922

你可能感兴趣的文章
worker_pool的例子
查看>>
Android 插件化
查看>>
Yii2的深入学习--自动加载机制
查看>>
sqlserver修改增删改字段
查看>>
设计模式介绍、分类、原则
查看>>
超级好用的解析JSON数据的网站
查看>>
C#正则表达式匹配任意字符
查看>>
Objective-c中@interface、@implementation、@protocal
查看>>
Python yield 使用浅析
查看>>
DMA(STM32)
查看>>
最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
查看>>
Boost.Asio基础(三)
查看>>
【转载】学习新东西的唯一方法
查看>>
[转]Android dex分包方案
查看>>
关于Redis的启动过程
查看>>
Android 按二次后退键退出应用程序
查看>>
Springboot监控之一:SpringBoot四大神器之Actuator之2--springboot健康检查
查看>>
一个简单多任务内核实例的分析【转】
查看>>
WPF 3D 小小小小引擎 - ·WPF 3D变换应用
查看>>
又一道简单题&&Ladygod(两道思维水题)
查看>>