linux expect自動切換使用者

2021-08-28 05:42:56 字數 680 閱讀 3561

我需要寫這樣乙個指令碼

但是又不想在切換使用者的時候手動輸入密碼,於是我找到了expect這樣乙個東西。它可以實現自動向伺服器中輸入的功能。

我用的是這個

安裝的時候注意命令中的版本號要與自己的保持一致。

vi test.sh

#!/usr/expect/bin/expect -f

set timeout 1

spawn su - root

expect ":"

send "密碼\n"

expect "#"

send "ps -ef|grep *********|grep -v grep|awk ''|xargs kill -9\r"

send "sh /***/***.sh\r"

send "exit\r"

send "cd /home/***\r"

set timeout 1是設定超時時間。預設是10秒,它會在10秒後自動完成輸入操作。我將它設定成了1秒

set timeout 1
設為 -1 時為不限時。

set timeout -1
執行

/home/***x/test.sh

linux expect自動登入ssh,ftp

expect是一種能夠按照指令碼內容裡面設定的方式與互動式程式進行 會話 的程式。根據指令碼內容,expect可以知道程式會提示或反饋什麼內容以及 什麼是正確的應答。它是一種可以提供 分支和巢狀結構 來引導程式流程的解釋型指令碼語言。shell功能很強大,但是不能實現有互動功能的多機器之前的操作,例...

linux expect自動登入ssh,ftp

參考 expect是一種能夠按照指令碼內容裡面設定的方式與互動式程式進行 會話 的程式。根據指令碼內容,expect可以知道程式會提示或反饋什麼內容以及 什麼是正確的應答。它是一種可以提供 分支和巢狀結構 來引導程式流程的解釋型指令碼語言。shell功能很強大,但是不能實現有互動功能的多機器之前的操...

linux expect自動登入ssh,ftp

一,安裝expect yum install expect 其實expect根bash形勢上差不多的.二,例項 1,ssh實現自動登入,並停在登入伺服器上檢視 複製列印?usr bin expect f set ip lindex argv 0 接收第乙個引數,並設定ip set password ...