1
我正在編寫腳本來將用戶從根改爲poletst
(另一個用戶)。當我改變用戶服務器問我在三個領域,我必須通過按1,2或3shell腳本來改變用戶,指定一些輸入,但然後與shell進行交互
我正在寫一個shell腳本來自動執行某個步驟,並且有一個涉及更改用戶和選擇區域1的步驟默認。
su - poletst
1
它不工作。它把我帶到用戶,但不改變面積。如何執行此操作?
我正在編寫腳本來將用戶從根改爲poletst
(另一個用戶)。當我改變用戶服務器問我在三個領域,我必須通過按1,2或3shell腳本來改變用戶,指定一些輸入,但然後與shell進行交互
我正在寫一個shell腳本來自動執行某個步驟,並且有一個涉及更改用戶和選擇區域1的步驟默認。
su - poletst
1
它不工作。它把我帶到用戶,但不改變面積。如何執行此操作?
你可以這樣做:
expect -c 'spawn su - poletst; send "1\r"; interact'
或者,如果它不工作,試試這個:
expect -c 'spawn su - poletst; expect "prompt"; send "1\r"; interact'
只是一個字符串時在消息的最後一行替換prompt
這當你被問到這個區域時,會顯示給你。
可以以及把它作爲一個腳本
#!/usr/bin/env expect -f
spawn su - poletst
expect "prompt"
send "1\r"
interact
保存它像su-poletst.exp
文件,只需要運行expect -f su-poletst.exp
。
那個提示是什麼樣的? – mnagel
提示給我三種選擇 1)測試 2)測試1 3)測試2 它可以通過控制1 2或3 – user2644549