shell指令碼利用expect實現scp免密傳輸

2021-09-14 01:33:48 字數 654 閱讀 3101

shell指令碼實現scp傳輸

命令解釋

-c 表示可以在命令列下執行except指令碼;

spawn 命令啟用乙個unix程式來互動,就是在之後要執行的命令;

expect 「aaa」 表示程式在等待這個aaa的字串;

send 向程式傳送字串,expect和send經常是成對出現的,比如當expect「aaa」的時候,send「bbb」。

執行指令碼

#! /bin/sh

expect -c "

spawn scp -r /home/tseg/hello [email protected]:/home/$name/

expect

「yes/no」

}expect eof"

解釋:第二行: -c 表示可以不用與控制台互動;

第三行:spawn啟用乙個scp的unix程式;

第五行:expect期待含有「assword」的字串,設定連線時間最大為300毫秒,如果出現這個字串,就send 變數pass代表的密碼字串, exp_continue表示執行下面的匹配;

第六航:expect期待含有「assword」的字串,設定連線時間最大為300毫秒,如果出現這個字串,就send 變數pass代表的密碼字串;

第八行:表示結束。

shell指令碼利用sed命令分割檔案

前幾天有個需求,網路模組5秒定時傳回領區資訊並寫入檔案,需求為5分鐘後讀取檔案,提取每次傳回的領區資訊中的earfcn和rsrp等,每次傳回的資訊以 為分隔符 檔案格式如下 領區資訊.領區資訊.領區資訊.領區資訊.領區資訊.提取資訊前要先把每5秒傳回的資訊分割,然後再提取,所以就寫了一下的指令碼來提...

shell指令碼利用rman實現自動備份資料庫

b backup path l backup level with 0 full or 1 incremental s the user sys pawword 不利用引數則採用預設,預設備份路徑為 oracle base flash recovery area orcl backupset 備份預...

shell指令碼之expect語句

在編寫shell指令碼時,我們可能會遇到一些互動式的情況,如passwd ssh等等指令碼時,常常需要手動進行互動。這樣,原本為了實現自動部署的指令碼顯得有些不大方便,這時你就會用上expect命令了。expect命令可以幫你把互動式命令變成非互動式。expect 有期待 期望的中文意思。正如它的中...