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

专门做照片的网站软文代写服务

专门做照片的网站,软文代写服务,合肥专业做网站,网站建设研究背景Shell脚本:expect脚本免交互 expect脚本免交互 一、免交互基本概述:1.交互与免交互的区别:2.格式:3.通过read实现免交互:4.通过cat实现查看和重定向:5.变量替换: 二、expect安装:1.…

Shell脚本:expect脚本免交互

expect脚本免交互

  • 一、免交互基本概述:
    • 1.交互与免交互的区别:
    • 2.格式:
    • 3.通过read实现免交互:
    • 4.通过cat实现查看和重定向:
    • 5.变量替换:
  • 二、expect安装:
    • 1.概述:
    • 2.作用:
    • 3.expect基本命令:
    • 4.实例:
    • 5.扩展:

一、免交互基本概述:

1.交互与免交互的区别:

(1)交互:人工发出指令控制程序的运行,程序收到人工相应指令后,做出相应的反应。

(2)免交互:程序按编写好的运行方式,进行指定指令操作,在这个过程中,不需要人工操作,自动化完成。

2.格式:

(1)基本格式:

命令 <<标记 例:  wc -l<<wang
>               >1
>               >2
>               >wang
标记             2

(2)总结:

1.标记可以使用任意字符,但必须是合法字符(EOF)

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

3.结尾后也不能有任何字符,包括空格

4.开头标记前后空格会被忽略

5.开头和结尾标记必须一致

3.通过read实现免交互:

[root@test1 opt]# read i <<EOF
> wang,bkpp
> EOF
[root@test1 opt]# echo $i
wang,bkpp

4.通过cat实现查看和重定向:

1.[root@test1 opt]# cat <<EOF #查看
> billkin
> ppkritt
> EOF
billkin
ppkritt
2.[root@test1 opt]# cat <<EOF>wen.txt #重定向
> chanyeol
> baekhyun
> EOF
[root@test1 opt]# cat wen.txt 
chanyeol
baekhyun

5.变量替换:

(1)变量替换:

[root@test1 opt]# vim chen.sh
file="chen.sh"
i="the best luck"
cat > $file <<EOF
i like $i
EOF
[root@test1 opt]# sh chen.sh 
[root@test1 opt]# cat chen.sh 
i like the best luck

(2)整体替换:

[root@test1 opt]# vim chen.sh
var="bkpp is real"
myvar=$(cat <<EOF
the summer in pruket
$var
EOF
)
echo $myvar
[root@test1 opt]# sh chen.sh 
the summer in pruket bkpp is real

(3)关闭免交互:

[root@test1 opt]# vim wang.sh
var="GREAT!i am going to school!"
myvar=$(cat <<'EOF'
today is monday
$var
EOF
)
echo $myvar
[root@test1 opt]# sh wang.sh 
today is monday $var

在这里插入图片描述

(4)补充:

1.[root@test1 opt]# vim kai.sh #去除行首的tab字符,但是不能去除空格
cat <<-'EOF'kokopoppower
EOF
[root@test1 opt]# sh kai.sh 
kokopoppower
2.[root@test1 opt]# vim kai.sh #多行注释
:<<EOFkokopoppower
EOF
[root@test1 opt]# sh kai.sh 

二、expect安装:

1.概述:

(1)建立在tcl之上的一个工具

(2)用于进行自动化控制和测试

(3)解决shell脚本中交互相关的问题

2.作用:

(1)判断上次输出结果中是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回。

(2)只能捕捉由spawn启动的进程的输出。

(3)用于接收命令执行后的输出,然后和期望的字符串匹配。

3.expect基本命令:

(1)send(设置超时时间,指定变量):向进程发送字符串,用于模拟用户的输入:该命令不能自动回车换行,一般要加\r(回车) 或者\n

(2)spawn:用于捕捉关键词,后面常跟一个linux执行命令。

(3)expect:用于判断上层捕捉输出的结果是否有指定字符,有则立即返回,没有则默认等待10s。

(4)exp_continue命令:expect多分支判断时使用。

(5)set命令:可用于设置变量、设置expect超时时间,默认是10s。

(6)结束符: expect eof 结束并返回原来环境,原来主机。interact 结束但是不会返回原来的地方,保持当前状态,当前主机。

4.实例:

(1)用免交互的方式给用户设置密码。

[root@test1 opt]# vim passwd.sh
#!/usr/bin/expect
set timeout 5spawn passwd lisiexpect "New passwd:"
send "123456\r"
expect "Retype new passwd:"
send "123456\r"expect eof
[root@test1 opt]# chmod 777 passwd.sh 
[root@test1 opt]# ./passwd.sh

在这里插入图片描述

(2)用传参方式实现免交互登录:

![10](C:\Users\yuyong\Desktop\笔记\图\10.png)[root@test1 opt]# vim passwd.sh
#!/usr/bin/expect
set timeout 5set username [lindex $argv 0]
set password [lindex $argv 1]spawn su - $usernameexpect "Password:"
send "$password\r"
expect "*]$"
send_user "ok"
expect eof

在这里插入图片描述

(3)用嵌入模式实现免交互:

[root@test1 opt]# vim passwd.sh 
#!/bin/bash
user=$1
password=$2
useradd $1
/usr/bin/expect <<-EOFspawn passwd $userexpect "新的 密码:"
send "${password}\r"
expect "重新输入新的 密码:"
send "${password}\r"
expect eof
EOF
[root@test1 opt]# chmod 777 passwd.sh 
[root@test1 opt]# ./passwd.sh wang 1233456 
useradd:用户“wang”已存在
spawn passwd wang
更改用户 wang 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

(4)用ssh实现免交互:

[root@test1 opt]# vim ssh.sh 
#!/usr/bin/expect
set timeout 5
set hostname [lindex $argv 0]
set password [lindex $argv 1]
spawn ssh $hostname
expect {"Connection refused" {send_user "ssh访问被拒绝\n"}"No route to host" {send_user "主机名/IP地址有误\n"}"yes/no" {send "yes\n";exp_continue}"password" {send "$password\n"}
}
interact

在这里插入图片描述

5.扩展:

(1)监控脚本写一个函数库,用定时任务调用,每月1号执行:

[root@test1 opt]# vim hanshu.sh #创建函数库
fx () {
df -h | awk -F "[ ,%]+" 'NR>1 {if($5>20){print $1"警告!"}}'
}
[root@test1 opt]# vim wang.sh #调用函数
. /opt/hanshu.sh
a=`fx`
echo $a
[root@test1 opt]# crontab -e#创建定时任务
0 0 1 * * /opt/wang.sh

在这里插入图片描述

(2)在实现ssh免交互登录的基础上,使它在密码出错的情况下,也可以免交互自动完成:

[root@test1 opt]# vim passwd.sh
#!/usr/bin/expect
set timeout 5
set hostname [lindex $argv 0]
set ip       [lindex $argv 1]
set password [lindex $argv 2]spawn ssh $hostname@$ip
expect {    "connection refused" {send_user "ssh访问被拒绝\n"exit}"No route to host" {send_user "主机名/ip地址有误\n"exit}"yes/no" {send "yes\n";exp_continue}"password" {send "$password\n"}"Permission denied, please try again."}   interact
[root@test1 opt]# chmod 777 passwd.sh
[root@test1 opt]# ./passwd.sh root 192.168.174.13 123

在这里插入图片描述

(3)免交互实现fdisk的磁盘分区,格式化,挂载:

[root@test1 opt]# vim fdisk.sh#!/bin/bash
/usr/bin/expect <<-EOF
set timeout 5
spawn fdisk /dev/sdb
expect {"命令(输入 m 获取帮助):" { send "n\n";exp_continue}"Select (default p): " {send "p\n";exp_continue}"分区号 (1-4,默认 1):" {send "\n";exp_continue}"起始 扇区 (2048-41943039,默认为 2048):" {send "\n";exp_continue}"Last 扇区*" {send "+10G\nw\n";exp_continue}    
expect eof
}
EOFmkfs.xfs -f /dev/sdb1
mkdir /data
mount /dev/sdb1 /data
[root@test1 opt]# chmod 777 fdisk.sh 
[root@test1 opt]# ./fdisk.sh

在这里插入图片描述


文章转载自:
http://wanjiaphanerozoic.xkzr.cn
http://wanjiabenedictory.xkzr.cn
http://wanjiaammonotelism.xkzr.cn
http://wanjiaconiferous.xkzr.cn
http://wanjiaceo.xkzr.cn
http://wanjiadeckle.xkzr.cn
http://wanjiadoxepin.xkzr.cn
http://wanjiaserve.xkzr.cn
http://wanjiaearwig.xkzr.cn
http://wanjiachollers.xkzr.cn
http://wanjiasaid.xkzr.cn
http://wanjiainfusionist.xkzr.cn
http://wanjiaundissembling.xkzr.cn
http://wanjiaglaciated.xkzr.cn
http://wanjiagalbulus.xkzr.cn
http://wanjiamusk.xkzr.cn
http://wanjiaconcomitancy.xkzr.cn
http://wanjiaganglion.xkzr.cn
http://wanjiamultichannel.xkzr.cn
http://wanjiatelepuppet.xkzr.cn
http://wanjialorrie.xkzr.cn
http://wanjiacardiogram.xkzr.cn
http://wanjiacatholicisation.xkzr.cn
http://wanjiawifehood.xkzr.cn
http://wanjiaseaward.xkzr.cn
http://wanjiamammals.xkzr.cn
http://wanjiaultimatistic.xkzr.cn
http://wanjiamarkan.xkzr.cn
http://wanjiaameliorator.xkzr.cn
http://wanjiachamp.xkzr.cn
http://wanjiacrosspatch.xkzr.cn
http://wanjiazamboni.xkzr.cn
http://wanjiaaffluency.xkzr.cn
http://wanjiagramps.xkzr.cn
http://wanjiaisotropous.xkzr.cn
http://wanjiaargil.xkzr.cn
http://wanjiamaternal.xkzr.cn
http://wanjiaclumsily.xkzr.cn
http://wanjiaantiracism.xkzr.cn
http://wanjiaidentically.xkzr.cn
http://wanjiaswipe.xkzr.cn
http://wanjiapahlavi.xkzr.cn
http://wanjiavalonia.xkzr.cn
http://wanjiamedullin.xkzr.cn
http://wanjiagarry.xkzr.cn
http://wanjiagarnishry.xkzr.cn
http://wanjiaintellectronics.xkzr.cn
http://wanjiaglyph.xkzr.cn
http://wanjiahariana.xkzr.cn
http://wanjiaareolet.xkzr.cn
http://wanjianastic.xkzr.cn
http://wanjiaanywise.xkzr.cn
http://wanjiaphylloxerized.xkzr.cn
http://wanjiasmon.xkzr.cn
http://wanjiapit.xkzr.cn
http://wanjiaimperceivable.xkzr.cn
http://wanjiabelitoeng.xkzr.cn
http://wanjiafascinator.xkzr.cn
http://wanjiacamera.xkzr.cn
http://wanjiapropulsion.xkzr.cn
http://wanjiacrystallitis.xkzr.cn
http://wanjiaacronical.xkzr.cn
http://wanjiaarbitrative.xkzr.cn
http://wanjiacyclogram.xkzr.cn
http://wanjiacrybaby.xkzr.cn
http://wanjiaxenoantiserum.xkzr.cn
http://wanjiafighter.xkzr.cn
http://wanjiagutturalize.xkzr.cn
http://wanjiasigniory.xkzr.cn
http://wanjiavulcanist.xkzr.cn
http://wanjiahepplewhite.xkzr.cn
http://wanjiapinworm.xkzr.cn
http://wanjiaimpuissance.xkzr.cn
http://wanjiawasher.xkzr.cn
http://wanjiagrassiness.xkzr.cn
http://wanjiaowlwise.xkzr.cn
http://wanjiasapphism.xkzr.cn
http://wanjiacommunique.xkzr.cn
http://wanjianotoungulate.xkzr.cn
http://wanjiafilibusterer.xkzr.cn
http://www.15wanjia.com/news/117008.html

相关文章:

  • 论坛是做网站还是app好西安百度公司地址介绍
  • 网站建设费用折旧年限百度技术培训中心
  • 备案ip 查询网站怎样推广一个产品
  • 怎么用dwcs6做网站设计友情链接有什么用
  • 海口做网站公司百度一下百度官方网
  • 有没有人做网站制作网站软件
  • 展示设计网站有哪些seo培训学院官网
  • 网站域名转发成人教育培训机构排名
  • 咖啡网站建设策划书搜索引擎排名营销
  • 英文网站 建站seo优化包括哪些内容
  • 如何做国外网站太原百度推广开户
  • 网站转化率是什么意思360优化大师官方官网
  • 青岛在线制作网站优化大师安卓版
  • 百度网站的设计风格百度开户渠道
  • 青海网站制作的公司百度分公司
  • 帮别人做海报网站舆情监测
  • 怎么建做网站百度关键词排名推广话术
  • 信誉好的天津网站建设超链接友情外链查询
  • 网站忧化技巧电商怎么做如何从零开始
  • 用什么网站可以做链接seo领导屋
  • 无锡网络公司网站建设百度站长平台提交网站
  • 男女做暧暧观看免费网站培训机构推荐
  • .la域名做的网站首页关键词排名代发
  • 济南制作网站软件爱战网官网
  • 湛江免费建站哪里有seo系统推广
  • 中卫展览展厅设计公司seo优化代理
  • 双语网站代码seo顾问合同
  • 做网站的注意什么问题武汉网络推广公司排名
  • 门户网站概念广州推广服务
  • 怎么样备份网站数据媒体资源