亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
expect的問題
[打印本頁]
作者:
seanking1987
時間:
2015-11-02 16:44
標(biāo)題:
expect的問題
本帖最后由 seanking1987 于 2015-11-02 16:50 編輯
問題一:
#test command
expect -re " " {send "ls -ldardwqdq > test.txt \r"}
expect -re " " {send "echo $?\r"}
expect {
"0" {send "echo ok!\r"}
"2" {send "echo failed!\r"}
}
復(fù)制代碼
執(zhí)行結(jié)果:
[root@localhost ~]# ls -ldardwqdq > test.txt
ls: 無效的行寬:qdq
[root@localhost ~]# echo $?
2
[root@localhost ~]# echo ok!
ok!
復(fù)制代碼
如果把expect {
"0"
"2"
}
換成
expect {
"2"
"0"
}
那么匹配到的是2,不明白expect遠(yuǎn)程send命令之后,判斷返回的機(jī)制是什么?
問題二:
發(fā)送命令如果不寫expect 直接寫send
比如send "ls -lrt > test.txt"發(fā)現(xiàn)有時候會沒有執(zhí)行,是為什么?
作者:
yjh777
時間:
2015-11-03 09:16
本帖最后由 yjh777 于 2015-11-03 09:39 編輯
send 只是把信息寫到 stdin, 不管執(zhí)行
你最好 expect 命令行提示符序列,不要只匹配 空格
http://www.72891.cn/thread-3566066-1-1.html
作者:
seanking1987
時間:
2015-11-03 09:40
回復(fù)
2#
yjh777
send的命令后加\n,\r也不行?會從緩沖區(qū)輸出吧?
前面加入了expect就肯定可以輸出了?
還是不太明白
作者:
expert1
時間:
2015-11-03 09:47
expect -d your.exp看下整個執(zhí)行過程就明白了。
作者:
seanking1987
時間:
2015-11-03 10:04
回復(fù)
4#
expert1
thanks,昨天剛寫expect,還在想為什么沒有和shell一樣的sh -x看過程,方便調(diào)試。
有了這個可以自己慢慢研究了。
作者:
seanking1987
時間:
2015-11-03 14:00
回復(fù)
4#
expert1
再請教個問題,假如我想用expect 匹配多個表達(dá)式 后做同一個動作,比如普通用戶是匹配*$,而root用戶是匹配*#,他們之間匹配或關(guān)系
那么expect "*$|*#" 這樣寫是匹配不上,expect -re "*$|*#"是報錯,應(yīng)該怎么寫?
作者:
yjh777
時間:
2015-11-03 15:28
expect -re ".*[#$]"
作者:
seanking1987
時間:
2015-11-03 16:26
本帖最后由 seanking1987 于 2015-11-03 16:26 編輯
回復(fù)
7#
yjh777
thanks,正則表達(dá)式,哎,還有好多東西要看啊。
另[]要轉(zhuǎn)義
作者:
yjh777
時間:
2015-11-03 17:01
本帖最后由 yjh777 于 2015-11-03 17:02 編輯
seanking1987 發(fā)表于 2015-11-03 16:26
回復(fù) 7# yjh777
thanks,正則表達(dá)式,哎,還有好多東西要看啊。
哦,sorry 大意了 沒有測試; 謝謝提醒 [] 在tcl里是命令替換!
把"" 改成 {} 就不需用轉(zhuǎn)義了
expect -re {.*[#$]}
作者:
waker
時間:
2015-11-04 08:54
回復(fù)
1#
seanking1987
問題一:眼見未必為實 => 眼睛看不到0,并不代表機(jī)器返回的結(jié)果中沒有0, 比如echo -e '0\rab' 看看
問題二:機(jī)器通常比手快 => 典型的spawn ssh ip ; send "username\r" 如果ip是臺linux,99.9%不會成功
作者:
waker
時間:
2015-11-04 09:01
關(guān)于問題二, 可以研究一下 send -h
是比較有意思的一個選項
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2