我需要寫這樣乙個指令碼
但是又不想在切換使用者的時候手動輸入密碼,於是我找到了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 ...