我设置了一个带有任务的基本 config/deploy.rb 文件:
task :blah do
run ". ~/blah.sh"
end
而在服务器上,blah.sh 文件只是提示输入:
while true; do
read -p "Say something: " blah
done
Capistrano 可以很好地连接到我的服务器,并且正常命令也可以正常工作。当我运行cap blah
它时,它会提示我输入,但无论我输入什么,它都不会发送回服务器。输出如下所示:
* 2013-02-13 19:12:36 executing `blah'
* executing ". ~/blah.sh"
servers: ["192.81.214.76"]
[192.81.214.76] executing command
** [out :: 192.81.214.76] Say something:
而且无论我输入什么它都不会响应。
注意我确实设置了default_run_options[:pty] = true
我什至不确定这是我的本地设置还是服务器的问题。有任何想法吗?