使用它的工作原理:
$ ssh [email protected] password: > echo ping ping
# set :use_sudo, true set :pty, true set :user, 'user' set :password, 'password' set :stage, :production role :web, 'remote.vm.net' task :ping do on roles(:web) do execute 'echo ping' end end
它不:
$ cap production ping INFO [7db945a1] Running /usr/bin/env echo ping on remote.vm.net DEBUG [7db945a1] Command: echo ping cap aborted! Net::SSH::AuthenticationFailed
我错过了什么?
我可能是错的,但我想说的是执行命令不运行一个shell。 echo是shell提供的一个命令。 尝试使用“运行”命令而不是“执行”。
另外请注意,最新版本中已经弃用了运行和执行。