婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > shell腳本無(wú)密碼登錄 expect的使用方法詳解

shell腳本無(wú)密碼登錄 expect的使用方法詳解

熱門(mén)標(biāo)簽:400電話申請(qǐng)找 申請(qǐng)400電話有什么用 貴陽(yáng)400電話到哪里去辦理 網(wǎng)絡(luò)電話外呼系統(tǒng)撥號(hào)軟件 汨羅代理外呼系統(tǒng) 天津智能外呼系統(tǒng)排名 電銷機(jī)器人加盟多少錢(qián) 宿松高德地圖標(biāo)注 4層電梯外呼控制系統(tǒng)設(shè)計(jì)

shell腳本無(wú)密碼登錄 expect的使用方法詳解

今天需要做一個(gè)定時(shí)任務(wù)腳本將最新的數(shù)據(jù)包文件傳到遠(yuǎn)程的服務(wù)器上,雖然有密鑰但也是要求輸入密碼的那種,所以只能另想辦法實(shí)現(xiàn)讓腳本自動(dòng)輸入密碼了。

從網(wǎng)上查到使用expect可以,簡(jiǎn)單研究了一下,效果不錯(cuò)。 

因?yàn)槲业牟僮飨到y(tǒng)沒(méi)有安裝expect,所以直接"yum -y install expect",你可以根據(jù)你的操作系統(tǒng)安裝expect,或者源碼編譯。
安裝好之后就可以使用了,這里有幾種方法:

一、單獨(dú)寫(xiě)一個(gè)腳本

如 auto_scp.sh:

#!/usr/bin/expect 
#使用第一個(gè)參數(shù) 
set server_ip [lindex $argv 0] 
#后面的也可以用參數(shù)[lindex $argv n] 
set server_port 22 
set server_dir /home/test
set server_user test
set server_pswd test
set scp_file auto_scp.sh 
                                               
# 設(shè)置超時(shí)時(shí)間 
set timeout 60 
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir 
expect { 
    "passphrase"
    { 
      send "$server_pswd\n"; 
    } 
    "password"
    { 
       send "$server_pswd\n"; 
    } 
    "yes/no"
    { 
       send "yes\n"; 
       exp_continue; 
    } 
} 
expect eof

我這里的變量都是隨意設(shè)置的,你可以根據(jù)你的情況進(jìn)行選擇,保存退出之后,對(duì)該文件加上可執(zhí)行權(quán)限,運(yùn)行
"./auto_scp.sh 2.2.2.2"就可以了,"2.2.2.2"就是傳入的第一參數(shù)。

"passphrase"和"password"等就是要監(jiān)測(cè)的輸入提示的一部分,send "$server_pswd\n"就是要執(zhí)行的命令。

二、在腳本中使用----我比較喜歡這個(gè)

我這里使用的是Here document方法。

...... 
...... 
expect !! 
set timeout 60 
spawn scp -P $server_port $scp_file $server_user@$server_ip:$server_dir 
expect { 
    "passphrase"
    { 
      send "$server_pswd\n"; 
    } 
    "password"
    { 
       send "$server_pswd\n"; 
    } 
    "yes/no"
    { 
       send "yes\n"; 
       exp_continue; 
    } 
} 
expect eof 
!! 
......

變量都是我從配置文件中獲取的,這里不再贅述了。

三、在腳本中使用

也是在腳本使用,但是不是用的Here document方法,而是使用expect -c 參數(shù)書(shū),"-c"選項(xiàng)后面的字符串填充的就是命令。但是要注意本身字符串的轉(zhuǎn)義符。

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

您可能感興趣的文章:
  • Linux expect實(shí)現(xiàn)自動(dòng)登錄腳本實(shí)例代碼
  • 利用expect命令實(shí)現(xiàn)Shell自動(dòng)化交互的方法詳解
  • Linux下使用expect命令編寫(xiě)自動(dòng)化交互腳本
  • 詳解Linux使用shell+expect遠(yuǎn)程登錄主機(jī)
  • ssh expect自動(dòng)登錄的腳本代碼
  • linux expect 自動(dòng)登錄交換機(jī)保存配置的方法

標(biāo)簽:連云港 贛州 昌都 撫州 臨沂 烏蘭察布 廣東 海北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell腳本無(wú)密碼登錄 expect的使用方法詳解》,本文關(guān)鍵詞  shell,腳本,無(wú),密碼,登錄,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell腳本無(wú)密碼登錄 expect的使用方法詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于shell腳本無(wú)密碼登錄 expect的使用方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 文成县| 奎屯市| 遵义县| 积石山| 石门县| 武宁县| 彰化县| 华池县| 枣强县| 河西区| 苍梧县| 光泽县| 武宣县| 什邡市| 阳谷县| 大同市| 上蔡县| 湘潭县| 延寿县| 玛纳斯县| 舒城县| 宜黄县| 永靖县| 师宗县| 右玉县| 尼勒克县| 建阳市| 四子王旗| 嘉兴市| 阿勒泰市| 木里| 仁化县| 武冈市| 宣武区| 信宜市| 历史| 昭苏县| 环江| 石嘴山市| 射阳县| 宁安市|