2012-04-17 71 views
0

我試圖在sudoers文件中啓用requiretty遠程服務器上執行此腳本。超級腳本在後臺運行ssh命令

#!/bin/bash 

value=$(ssh -tt localhost sudo bash -c hostname) 
echo $value 

如果我運行使用$ ./sample.sh &它保持在後臺停止腳本。只有使用fg我才能強制腳本運行。我認爲問題是輸出缺少tty,但我能做什麼?

+1

腳本到底什麼時候停止?在'ssh'命令運行之前它會被暫停嗎?當'sudo'命令運行時它會被掛起嗎?當內置'echo'運行時它會被掛起嗎?無論如何,爲什麼在後臺運行這個腳本?除了在最奇怪的情況下,你必須與'sudo'命令交互... – sarnold 2012-04-17 00:10:24

+1

我並行運行多個腳本實例,這就是爲什麼我把它放在後臺。有些命令需要sudo權限。 – multiholle 2012-04-17 03:19:50

+0

運行這些特定命令時,您是否可以讓自己的用戶帳戶無需輸入'sudo'密碼?這會讓這成爲可能。 – sarnold 2012-04-17 23:51:09

回答

0

...我該怎麼辦?

你可以stty -tostop