欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請碼778899分享:網(wǎng)絡(luò) 免交互

柚子快報(bào)邀請碼778899分享:網(wǎng)絡(luò) 免交互

http://yzkb.51969.com/

1、定義

交互:我們發(fā)出指令控制程序的運(yùn)行,程序在接受到指令之后按照指令的效果做出對應(yīng)的反應(yīng)。

免交互:間接的通過第三方把指令傳送給程序,不用直接的下達(dá)指令

2、Here Document 免交互

這是命令行格式也可以寫在腳本當(dāng)中。通過I/O重定向的方式將命令的列表傳送給交互式程序或命令。是標(biāo)準(zhǔn)輸入的一種替代品,代替了人工的輸入方式

2.1語法格式

命令(linux的系統(tǒng)命令) <<標(biāo)記 ?

內(nèi)容1 ?

內(nèi)容2 ?

內(nèi)容3 ?

標(biāo)記

2.2注意事項(xiàng)

(1)標(biāo)記可以是任意合法字符(一般不用特殊字符,也不以數(shù)字開頭,通常以EOF作為默認(rèn)的標(biāo)記位)

(2)結(jié)尾的標(biāo)記一定要定格寫且前面不能有任何字符,空格也不行

(3)結(jié)尾的標(biāo)記后面也不能有任何字符,包括空格

(4)開頭的標(biāo)記前后的空格都會被省略掉

2.3用法

統(tǒng)計(jì)行數(shù)

[root@test1 ~]# wc -l <

> 123

> 456

> 789

> xy102

3

read命令輸入內(nèi)容并打印

[root@test1 ~]# read i < ABC > EOF [root@test1 ~]# echo $i ABC

更改用戶密碼

[root@test1 ~]# passwd dn < 123 > 123 > EOF 更改用戶 dn 的密碼 。

cat命令+免交互

[root@test1 ~]# cat <>test0.txt > aaa > bbb > ccc > ddd > EOF [root@test1 ~]# cat test0.txt aaa bbb ccc ddd

tee命令

[root@test1 opt]# tee test1.txt< 111 > 222 > 333 > 444 > EOF 111 222 333 444 [root@test1 opt]# cat test1.txt 111 222 333 444

引入變量

file="test1.sh" i=school cat > $file <

整體變量賦值

var="Great!I am going to school" myvar=$(cat <

3、Expect實(shí)現(xiàn)免交互

3.1定義

用tcl語言寫的一個(gè)工具,主要用于自動化控制和測試,解決shell腳本交互的問題

3.2轉(zhuǎn)義符

\n:換行

\r:回車

\t:相當(dāng)于一個(gè)tab鍵

\b:表示退格,相當(dāng)于刪除

3.3用法

3.3.1修改用戶密碼

#!/usr/bin/expect #聲明解釋器,不再是默認(rèn)的bash,需要聲明 set timeout 5 #set設(shè)置,timeout超時(shí)時(shí)間,expect有一個(gè)默認(rèn)的超時(shí)時(shí)間為10秒,設(shè)置超時(shí)時(shí)間為5秒 #也可以作為設(shè)置變量

spawn passwd dn #spawn后面用來聲明需要執(zhí)行的命令,開啟會話過程,并且跟蹤后續(xù)的交互信息

expect "新的 密碼:" #捕獲需要執(zhí)行的命令行,只要能夠捕獲即可,不需要完整的,可以用*代表所有

send "abc123\r" #輸入指令代碼

expect "重新輸入新的 密碼:"

send "abc123\r"

#最后一定要有結(jié)束語,結(jié)束語只能寫一個(gè) expect eof #交互指令結(jié)束之后會退回原用戶,切換回之前的用戶 interact #留在當(dāng)前用戶,不會動

免交互只能先賦權(quán)再./執(zhí)行

chomod 777 passwd.sh ./passwd.sh

3.3.2su免交互切換用戶

#!/usr/bin/expect set timeout 5 #傳參的方式來表示 set username [lindex $argy 0] set passwd [lindex $argy 1] #這種方式就是位置變量 #開始追蹤 spawn su - $username #免交互開始執(zhí)行 expect "密碼" send "$passwd\r" #繼續(xù)捕獲 expect "~]$" (普通用戶) 【expect "~]#" ?(管理員)】 send_user "ok" #send_user = echo 打印指定內(nèi)容 #結(jié)束語 interact expect eof

3.3.3嵌入執(zhí)行模式 ?

在shell當(dāng)中加入expect。涉及到環(huán)境切換的場景不建議使用嵌套。ssh su不適合使用嵌入模式

#!/bin/bash user=$1 password=$2 #非交互命令,使用的是shell useradd $user #嵌入免交互 /usr/bin/expect <<-EOF spawn passwd $user expect "新的*" send "$password\r" expect "重新*" send "$password\r" expect eof EOF

ssh免密登錄

?#!/usr/bin/expect set ip 192.168.230.30 set user root set password 123 set timeout 5 #進(jìn)入命令行: spawn ssh $user@$ip expect { ? ? ? ? "yes/no" {send "yes\r";exp_continue} #這里捕獲兩次,表示該項(xiàng)被匹配之后,繼續(xù)匹配其他指定的內(nèi)容,類似于循環(huán)的continue,允許expect語句繼續(xù)向下執(zhí)行 ? ? ? ? ?"password" {send "$password\r"} } interact

?主機(jī)連接

#!/usr/bin/expect set timeout 5 set hostname [lindex $argv 0] set password [lindex $argv 1] spawn ssh $hostname expect { ? ? ? ? "No route to host" {send_user "主機(jī)名/ip有誤\n"} ? ? ? ? "Connection refused" {send_user "ssh連接拒絕\n"} ? ? ? ? "(yes/no)" {send "yes\r";exp_continue} ? ? ? ? "password" {send "$password\r"} } interact

柚子快報(bào)邀請碼778899分享:網(wǎng)絡(luò) 免交互

http://yzkb.51969.com/

參考閱讀

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19216135.html

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄