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

shell腳本執(zhí)行命令自動填充密碼(自動輸入密碼)

 更新時間:2023年02月21日 10:21:19   作者:學無止境gwx  
這篇文章主要介紹了shell?執(zhí)行命令自動填充密碼,文中結合實例代碼通過三種方式講解了Shell?腳本自動輸入密碼的方法,需要的朋友可以參考下

概述

日常開發(fā)過程中,經(jīng)常會有一些自動化的操作受制于密碼,當然,密碼是安全的。
常見的一些應用場景,如ssh連接服務器、mysql登錄與備份、git上傳、網(wǎng)站登錄、ftp登錄、telnet等等。
那么我們今天就講如何在自動化過程中,自動的在tel終端中填充密碼(基于python的包)。

一、pexpect第三方包

Expect腳本語言,它是由TCL語言實現(xiàn)的,主要用于人機交互式對話的自動化控制,pexpect就是在python的基礎上開發(fā)出的類似Expect功能的模塊。它的實現(xiàn)分為四部分:

  • 創(chuàng)建pexpect程序手柄
  • 通過內(nèi)置expect方法等待關鍵字
  • 匹配完成后授權手柄完成密碼的填充
  • 結束手柄并將控制權授予用戶終端Terminal(如果需要的話)

二、參數(shù)一欄

spawntimeoutmaxreadsearchwindowsizelogfileexpect
logfile_readcwdenvignore_sighupdelaybeforesendexpect_exact
expect_listexpect_loopsendsendlinesendcontrolsendeof
sendintrinteractcloseterminateKillflush
isaliveisattynextreadreadlinereadlines
setechosetwinsizewaitwaitnoechowritewritelines
beforeaftermatch

三、話不多說,上代碼

下面的案例是我導出數(shù)據(jù)庫數(shù)據(jù)寫的demo,執(zhí)行語法python backup.py >> backup.sql

import pexpect

# cmd = 'mysqldump -h 127.0.0.1 -uroot -P3306 -p123456 your-database'
cmd = 'mysqldump -h 127.0.0.1 -uroot -P3306 -p your-database'
proc = pexpect.spawn(cmd)
# 字串串匹配到返回值為0,列表匹配到返回列表中對應的下標
index = proc.expect('password:')
print(f'匹配到: {index} =>')
proc.sendline('123456')
proc.interact()

參考文章鏈接:

Pexpect 模塊使用說明

Python模塊Pexpect詳解

補充:Shell 腳本自動輸入密碼的三種方式

注意,如果創(chuàng)建.sh文件后不可以執(zhí)行,請執(zhí)行sudo chmod 755 文件名.sh來修改權限。

方式一

使用 echo “密碼” | (管道符)

使用場景: sudo 命令

在使用普通用戶執(zhí)行 root 命令時有時候會需要輸入密碼,并且在輸入密碼后一段時間不需要再次輸入(但是不影響),這時候可以使用

echo "密碼" | sudo 命令

比如我需要一鍵清空服務器,則可以創(chuàng)建一個clear.sh文件(假使我的密碼是 123456):

echo "123456" | sudo rm -rf /*

那么在執(zhí)行的時候,我只需要./clear.sh就可以清空我的整個數(shù)據(jù)庫。

方式二

重定向

用重定向方法實現(xiàn)交互的前提是指令需要有參數(shù)來指定密碼輸入方式,如ftp就有-i參數(shù)來指定使用標準輸入來輸入密碼

shell用重定向作為標準輸入的用法是:cmd<<delimiter ,shell 會將分界符delimiter之后直到下一個同樣的分界符之前的內(nèi)容作為輸入

使用場景:不僅僅輸入一個密碼,還需要輸入用戶名。

ftp -i -n 192.168.21.46 <<EOF
user 用戶名 密碼
EOF

方式三

expect

echo + 管道符不是什么時候都可以生效(比如我寫的自動提交博客腳本最后需要輸入我的服務器的 git 倉庫密碼就不生效),因此我們可以使用 expect 方法來執(zhí)行。

set timeout 30
spawn ssh -l 用戶名 10.125.25.189
expect "password:"
send "要輸入的密碼"    
interact

這里的語句是這樣的:

設置超時時間為30s

  • spawn 是 expect 的起始語句,可以理解為從此處開始
  • spawn 后面的語句是執(zhí)行 ssh 連接

expect:當發(fā)現(xiàn)password:這個字符串后,在后方輸入send后面的內(nèi)容
send:要輸入的密碼
interact:執(zhí)行完留在遠程控制臺,不加這句執(zhí)行完后返回本地控制臺

再舉一個例子

這個例子是我真實的腳本文件(但是磨掉了密碼),平時用于往我的服務器中提交 hexo 博客

cd /Users/jim/hexo
echo '123456' | sudo -S hexo clean 
sudo hexo g 
spawn sudo -S hexo d
expect "password:"
send "123456"

首先進入到hexo文件夾下

因為要用到sudo 來 clean/generate/deploy我的博客,所以我這里使用一個 echo+管道符,輸入一次 sudo 命令(短時間內(nèi)不需要再重復輸入,所以我只寫了一個)

generate 一下 hexo 文件

提交到遠程倉庫,這里需要輸入遠程倉庫的密碼,所以我用spawn標記這句話

expect(發(fā)現(xiàn))到"password:"后執(zhí)行send

將我的密碼 send(發(fā)送到)到控制臺

到此這篇關于shell 執(zhí)行命令自動填充密碼的文章就介紹到這了,更多相關shell 自動填充密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

到此這篇關于shell腳本執(zhí)行命令自動填充密碼(自動輸入密碼)的文章就介紹到這了,更多相關shell 自動輸入密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux下使用shell腳本自動執(zhí)行腳本文件

    Linux下使用shell腳本自動執(zhí)行腳本文件

    這篇文章主要介紹了Linux下使用shell腳本自動執(zhí)行腳本文件的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • linux刪除大量文件的6種方法

    linux刪除大量文件的6種方法

    這篇文章主要介紹了linux刪除大量文件的6種方法,需要的朋友可以參考下
    2014-02-02
  • linux下執(zhí)行shell命令方法簡介

    linux下執(zhí)行shell命令方法簡介

    本文給大家分享的是linux系統(tǒng)下執(zhí)行shell命令的常用的2種方法,希望對初學shell命令的小伙伴能夠有所幫助
    2016-12-12
  • vim快捷鍵大全

    vim快捷鍵大全

    vi(vim)是上Linux非常常用的編輯器,很多Linux發(fā)行版都默認安裝了vi(vim)。這篇文章主要介紹了vim快捷鍵大全的相關資料,需要的朋友可以參考下
    2016-10-10
  • Linux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)

    Linux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)

    下面小編就為大家?guī)硪黄狶inux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實例

    shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實例

    今天小編就為大家分享一篇shell腳本之判斷輸入?yún)?shù)是否為整數(shù)值的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Shell(())實現(xiàn)對整數(shù)進行數(shù)學運算

    Shell(())實現(xiàn)對整數(shù)進行數(shù)學運算

    這篇文章主要介紹了Shell(())實現(xiàn)對整數(shù)進行數(shù)學運算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 實現(xiàn)core文件自動生成配置文件的方法

    實現(xiàn)core文件自動生成配置文件的方法

    這篇文章主要介紹了實現(xiàn)core文件自動生成配置文件的方法,需要的朋友可以參考下
    2014-07-07
  • Linux?中的export與alias命令詳解

    Linux?中的export與alias命令詳解

    export和alias都是用來簡化命令行輸入的工具。export用于設置環(huán)境變量,環(huán)境變量是一些系統(tǒng)級別的變量,用于指定一些系統(tǒng)的默認值或者搜索路徑等,這篇文章主要介紹了Linux?中的export與alias命令,需要的朋友可以參考下
    2023-04-04
  • shell(bash)下“time” 命令的輸出詳解

    shell(bash)下“time” 命令的輸出詳解

    這篇文章主要給大家介紹了關于shell(bash) “time” 命令的輸出,文中給出了詳細的示例代碼,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友們下面來一起看看吧。
    2016-12-12

最新評論

九寨沟县| 龙川县| 新和县| 稷山县| 葫芦岛市| 宜丰县| 苍溪县| 保康县| 象山县| 开鲁县| 格尔木市| 九龙县| 峨眉山市| 禹城市| 赞皇县| 揭西县| 乌拉特前旗| 应城市| 大同县| 南丹县| 金华市| 永寿县| 饶河县| 永德县| 松滋市| 广河县| 岱山县| 遂溪县| 台南市| 崇明县| 威远县| 安西县| 丰镇市| 尉氏县| 曲麻莱县| 界首市| 咸宁市| 时尚| 上杭县| 蕲春县| 陆川县|