当前位置: 首页 > news >正文

涪陵网站建设免费发广告的网站

涪陵网站建设,免费发广告的网站,wordpress主题怎么制作,成都三日游最佳攻略目录 绪论 1、here Document免交互 1.1 格式 1.2 cat结合免交互实现重定向输出到指定文件 1.3 变量替换 2、Expect免交互 2.1 三种写法 3、免交互实现普通用户切换root 3.1 send_user 4、接收参数 5、嵌入执行模式 6、ssh远程登录 绪论 免交互:不需要人…

目录

绪论

1、here   Document免交互

1.1 格式

1.2 cat结合免交互实现重定向输出到指定文件

 1.3 变量替换

2、Expect免交互

2.1 三种写法

3、免交互实现普通用户切换root

3.1 send_user

4、接收参数

5、嵌入执行模式

6、ssh远程登录


绪论

免交互:不需要人为控制就可以完成的自动化操作(自动化运维)

1、here   Document免交互

使用i/o(输入/输出)重定向的方式,将命令的列表提供给交互式的程序或者命令

cat read 是一种标准输入,只能接受正确的指令或者命令

1.1 格式

命令  <<标记

...

...

标记

eg:

注意事项

· 标记可以使用人以合法字符(通常用EOF)

· 结尾的标记一定要顶格写,前面不能有任何字符

· 结尾的标记后面,也不能有任何字符,包括空格

· 如果开头的标记前有空格,这个空格会被自动省略 

eg:read  i  <<EOF      read只能输入一次

>123

>EOF

echo  $i

1.2 cat结合免交互实现重定向输出到指定文件

 1.3 变量替换

vim  test.sh进入编辑

#!/bin/bash

file="test.txt"

i="school"

cat  >  $file  <<EOF

I  am  going  to  $i

EOF  保存退出

2、Expect免交互

tcl语言基础之上的一种工具,自动化测试和控制,在脚本中解决交互的问题

转义符:\n 换行 \t制表符,tab键 \r回车 \b退格键,就是删除键

基本命令格式: #!/usr/bin/expect

语法:

· spawn后面通常跟一个linux的执行命令,表示开启一个会话,启动一个进程,并且跟踪后续的交互信息

· expect,捕获,上一次执行的命令中,是否包含指定的字符串,如果有立即返回,否则等待超时,自动退出(默认超时时间为10s)

· expect 只能捕获由spawn启动的进程输出

· send 向进程发送字符串,用于模拟用户的输入,该命令不能自动回车,一般后面加一个回车键:\r 或者\n

2.1 三种写法

第一种写法
#!/use/bin/expect
set  timeout  5
spawn  passwd  lisi
expect  "新的密码"
send  "abc123\r"
expect  "重新输入新的密码"
send  "abc123\r"
expect  eof第二种写法
#!/use/bin/expect
set  timeout  5
spawn  passwd  lisi
expect  "New  password"  {send  "123\r"}
expect  "Retype  new  password"  {send  "123\r"}
expect  eof第三种写法:多分支结构
#!/use/bin/expect
set  timeout  5
spawn  passwd  lisi
expect{
"密码1"{send  "abc123\r"}
"密码2"{send  "abc123\r"}
"密码3"{send  "abc123\r"}      只要匹配其中一个情况,执行相应的send语句,然后退出}
结束符
expect  eof   会切换回之前的终端
interact 留在当前终端不变
set 设置超市等待时间,默认是10s
set timeout 5  -1()则表示永不超时

3、免交互实现普通用户切换root

vim  qiehuan.sh
#!/usr/bin/expect
set  timeout  5
spawn  su  root
expect  "passwd"
send  "123\r"
expect  eof  保存退出
chmod 777 目录
su  -  lisi
sh  qiehuan.sh

expect_continue 可以在expect判断之后,继续匹配expect,捕获的其他内容,类似于脚本中continue,表示允许继续向下执行指令

使用expect_continue的结束语不能使用expect  eof

expect  {

"(yes/no)"  {send  "yes\r";exp_continue}

"passwd"  {send"123\r"}

}

3.1 send_user

send_user 会先信息,相当于echo跟上用户想要输出的内容

4、接收参数

类似于shell当中的位置变量$1 $2

set  hostname  [linux  $argv  0]  $1

 set  password  [linux  $argv  0]  $2

eg:
set  timeout  5
set  usr  [lindex  $argv  0]
set  passwd  [lindex  $argv  1]
spawn  su  -  $user
expect  "密码" (或者passwd)
send  "$passwd\r"
expect  "]$"
send_user  "普通用户"
expect  "]#"
send_user  "管理员"
interact  
保存退出
./qiehuan  lisi  123

5、嵌入执行模式

如果涉及终端切换,最好不要用嵌入模式

将expect过程融入shell中,方便执行和处理

eg:vim  useradd.sh
#!/bin/bash
user=$1
passwd=$2
useradd  $user
/usr/bin/expect  <<  -EOF
#expect 开始表示
spawn  passwd  $user
expect  "新的*"
send  "${passwd}\r"
expect  "重新*"
send  "${passwd}\r"
expect  eof
EOF
保存退出
sh  useradd.sh  lisi  123

6、ssh远程登录

#!/usr/bin/expect
set ip 192.168.233.30  #指定远程登录的ip地址
set user root
#指定为root用户
set password 123
#设定密码为123
set timeout 5spawn ssh $user@$ip   
expect  {"yes/no" isend "yes\r" ;exp_continue}
"password" isend " $password\r" }
}
expect eof保存退出
chmod   777   ssh.sh
./ssh.sh

6.1 通过传参的方式实现

#!/usr/bin/expect
set name [lindex $argv 0]
set ip [lindex $argv 1]
set password [lindex $argv 2]
set timeout 5
spawn ssh
$name@$ip
expect {
"refused" {send_ _user "访问被拒绝\r"}
"No route to host" {send_ _user "主机名或者ip地址有误\n"}
"yes/no" {send "yes\r" ;exp_ continue}
password" {send " $password\r"}
}
expect eof

保存退出

./ssh.sh  root  20.0.0.30  123

http://www.15wanjia.com/news/50628.html

相关文章:

  • 网站推广必做汕头seo排名
  • 安卓应用长沙有实力的关键词优化价格
  • 网站建设与管理案例教程手机在线制作网站
  • 盐城做网站新闻头条最新消息摘抄
  • 做网站怎么复制视频链接成都seo正规优化
  • 免费搭建私人网站网络广告营销的概念
  • WordPress添加点赞打赏深圳百度推广优化
  • 茶叶手机网站建设seo教学培训
  • wordpress账号破解seo排名赚靠谱吗
  • 请人制作软件的网站网络推广的细节
  • 上海网站设计工具淘宝美工培训
  • 亚马逊网站特色百度竞价推广公司
  • 自己做的网站百度搜到精准拓客软件哪个好
  • 手机移动端网站怎么做的google代理
  • 网站改版需求2021近期时事新闻热点事件简短
  • 做校园网站永久免费建个人网站
  • 网站建设公司特色yahoo搜索
  • 有没有做ppt好看的免费网站亚马逊seo是什么意思
  • 网站建设 学习 长沙木卢seo教程
  • 制作响应式网站报价微信小程序开发文档
  • wordpress 淘客帝国上海优化排名网站
  • wordpress设置隐藏内容湛江seo推广外包
  • 营销网站制作哪家靠谱免费隐私网站推广app
  • 北京网站推广排名怎么把网站排名到百度前三名
  • 委托设计网站 要注意哪些问题百度的seo关键词优化怎么弄
  • 广州网站模块建设关键词怎么做快速的有排名
  • 商水住房城乡建设网站网站优化招聘
  • 广州市建设工程交易网seo的工作内容
  • 百度网址大全网站大全腾讯朋友圈广告代理
  • 怎么做淘宝网站赚钱网络推广引流是做什么的