1
我正在使用SSHEXEC ant任務對遠程linux機器運行SSH腳本。對來自Ant SSH任務(SSHEXEC)的shell提示做出響應
這工作得很好,直到我嘗試並調用一個提示用戶輸入的ksh腳本。該腳本更改當前用戶(如su)。它提示用戶輸入change_request_id和change_request_reason。因此,在一個外殼通常使用這個命令應該是這樣的:
change_user deploy_user
Please enter the changes request number for doing this: 1234
Please enter the changes request reason: Because I can
<deploy_user>
但是當我運行從SSHEXEC這些命令,它就會以第一次提示「請輸入更改申請數量這樣做的:」並停止。儘管我通過SSHEXEC對此提示進行了響應,但它仍然卡在這裏。
不幸的是,我們無權修改或複製change_user shell腳本。
我想知道是否有某種方式可以使用SSHEXEC,它可以通過命令發出提示答案。
任何幫助,將不勝感激。
感謝威廉。您的解決方案看起來很理想,但是當我嘗試它時,它隨着我正在運行的腳本更改當前用戶而中斷,因此在它完成之前發生錯誤。除了這個問題,您的解決方案確實允許我回答腳本提示。我想現在是解決這個更改用戶問題的問題!乾杯。 – Ben 2009-10-12 07:19:27
您可以設置sudo讓您以另一個用戶的身份運行該命令 - 例如使用sudo -u otheruser作爲/ path/to/change_request_cmd的前綴,並配置/ etc/sudoers以允許不使用密碼。 – 2009-10-13 10:02:51