linux expect自動切換使用者
阿新 • • 發佈:2018-11-30
背景
我需要寫這樣一個指令碼
但是又不想在切換使用者的時候手動輸入密碼,於是我找到了expect這樣一個東西。它可以實現自動向伺服器中輸入的功能。
安裝
我用的是這個
https://www.cnblogs.com/daojian/archive/2012/10/10/2718390.html
安裝的時候注意命令中的版本號要與自己的保持一致。
編寫指令碼
vi test.sh
#!/usr/expect/bin/expect -f set timeout 1 spawn su - root expect ":" send "密碼\n" expect "#" send "ps -ef|grep xxxxxxxxx|grep -v grep|awk '{print \$2}'|xargs kill -9\r" send "sh /xxx/xxx.sh\r" send "exit\r" send "cd /home/xxx\r"
set timeout 1
是設定超時時間。預設是10秒,它會在10秒後自動完成輸入操作。我將它設定成了1秒
set timeout 1
設為 -1 時為不限時。
set timeout -1
執行
/home/xxxx/test.sh