2012-04-17 62 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