日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解golang expect包使用

最近和業(yè)務(wù)的相關(guān)人員對(duì)接某一需求時(shí),其提出希望能在業(yè)務(wù)服務(wù)器上不給業(yè)務(wù)人員密碼信息,而能通過執(zhí)行某個(gè)命令后由usera變成userb。這個(gè)需求其實(shí)用expect 就可以實(shí)現(xiàn),不過使用tcl 語言編寫的腳本里密碼還是以明文出現(xiàn)的,業(yè)務(wù)是想通過安裝pexpect (python)包,通過生成pyc的文件,略微增加下安全性。不過想了下,可以通過使用golang下的expect實(shí)現(xiàn)同樣的效果,而且安全性更強(qiáng)。

超過10多年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序制作,微信開發(fā),成都App制作,同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!

經(jīng)搜索引擎檢索,發(fā)現(xiàn) https://github.com/ThomasRooney/gexpect/ 可以實(shí)現(xiàn)該效果,而且在該包的examples里提供了ftp、ping、python、screen相關(guān)的使用示例。這里如果使用su切換用戶,代碼比較簡單,如下:

//code from www.361way.com
package main
import gexpect "github.com/ThomasRooney/gexpect"
func main() {
child, err := gexpect.Spawn("su - zabbix")
if err != nil {
panic(err)
}
child.Expect("Password")
child.SendLine("123456")
child.Interact()
child.Close()
}

不過這個(gè)包在使用后,可以正常切換用戶,不過缺點(diǎn)也比較多:

  • 無法tab補(bǔ)全
  • 無法正常按pty Terminal size大小輸出(只能輸出一部分,有點(diǎn)類似于虛擬化virsh console連接后的情況)
  • 無法使用ctrl +D 快捷鍵退出,只能使用ctrl + c退出
  • 執(zhí)行過的命令會(huì)再輸入一遍

在項(xiàng)目的issues 上已經(jīng)有人提出該問題。項(xiàng)目近兩年來并沒有更新。

更多expect項(xiàng)目(各種語言版本的)可以參考維基百科 ,不過維基百科上提到的goexpect、go-expect 兩個(gè)模塊經(jīng)測(cè)試并不能成功。


新聞名稱:詳解golang expect包使用
瀏覽地址:http://m.5511xx.com/article/cdphgdi.html