最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年10月19日 14:10:55   作者:gaoyaohuachina  
這篇文章主要介紹了shell腳本無(wú)密碼登錄 expect的使用方法詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下

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ú)寫一個(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ì)本站的支持!

相關(guān)文章

  • shell實(shí)現(xiàn)猜數(shù)字小游戲

    shell實(shí)現(xiàn)猜數(shù)字小游戲

    這篇文章主要為大家詳細(xì)介紹了shell實(shí)現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Shell腳本實(shí)現(xiàn)檢測(cè)進(jìn)程是否正在運(yùn)行

    Shell腳本實(shí)現(xiàn)檢測(cè)進(jìn)程是否正在運(yùn)行

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)檢測(cè)進(jìn)程是否正在運(yùn)行,本文給出的代碼簡(jiǎn)潔清晰,并給出了使用方法,需要的朋友可以參考下
    2015-01-01
  • 完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問(wèn)題

    完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問(wèn)題

    下面小編就為大家?guī)?lái)一篇完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問(wèn)題。
    2017-04-04
  • 列出所有Bash Shell內(nèi)置命令的方法示例

    列出所有Bash Shell內(nèi)置命令的方法示例

    大家都知道不同的Shell內(nèi)置命令有所不同,所以下面這篇文章主要給大家介紹了關(guān)于如何列出所有Bash Shell內(nèi)置命令的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 使用curl遞歸下載軟件腳本分享

    使用curl遞歸下載軟件腳本分享

    本腳本完成了對(duì)apache的鏡像網(wǎng)站的遞歸掃描。通過(guò)文件IO的緩存方式記錄可下載文件,再針對(duì)需要文件的后綴名批量下載軟件包備用,大家可以修改成自己腳本
    2014-03-03
  • Linux常用ls, alias基礎(chǔ)命令詳解

    Linux常用ls, alias基礎(chǔ)命令詳解

    這篇文章主要介紹了Linux常用ls, alias基礎(chǔ)命令詳解,ls命令 的作用是列舉目錄文件信息,alias查看定義的別名,具體內(nèi)容詳情大家參考下本文
    2018-05-05
  • Ubuntu不進(jìn)入休眠模式的方法

    Ubuntu不進(jìn)入休眠模式的方法

    下面小編就為大家?guī)?lái)一篇Ubuntu不進(jìn)入休眠模式的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Shell退出狀態(tài)的使用

    Shell退出狀態(tài)的使用

    這篇文章主要介紹了Shell退出狀態(tài)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 淺析Linux系統(tǒng)下安裝wetty和使用說(shuō)明

    淺析Linux系統(tǒng)下安裝wetty和使用說(shuō)明

    本篇文章主要給大家介紹linux系統(tǒng)下安裝wetty和使用說(shuō)明,以及l(fā)inux tty命令學(xué)習(xí)總結(jié),感興趣的朋友跟著小編一起學(xué)習(xí)吧
    2015-10-10
  • Shell腳本實(shí)現(xiàn)SSL證書(shū)過(guò)期巡檢

    Shell腳本實(shí)現(xiàn)SSL證書(shū)過(guò)期巡檢

    我們知道?SSL?證書(shū)是會(huì)過(guò)期的,一旦過(guò)期之后需要重新申請(qǐng),如果沒(méi)有及時(shí)更換證書(shū)的話,就有可能導(dǎo)致網(wǎng)站出問(wèn)題,所以本文分享一個(gè)自動(dòng)檢測(cè)?SSL?是否過(guò)期的?shell?腳本吧
    2023-08-08

最新評(píng)論

乌鲁木齐县| 桐柏县| 台江县| 阿拉善右旗| 沙田区| 黑龙江省| 永福县| 北辰区| 海盐县| 永丰县| 宁陕县| 海晏县| 和林格尔县| 阜平县| 新和县| 城口县| 遵义市| 漳州市| 绵竹市| 蒙城县| 临西县| 铜川市| 靖远县| 洛扎县| 拉萨市| 红河县| 夏津县| 高碑店市| 习水县| 休宁县| 珲春市| 绥德县| 武夷山市| 北京市| 南康市| 庄浪县| 布拖县| 孟连| 长兴县| 东源县| 澎湖县|