ruby变量bash shell命令输出分配的capistrano

时间:2015-09-29 10:43:13

标签: ruby bash shell capistrano

我正在使用capistrano 3.4编写一个任务,在已部署的代码中打印git版本号。我能够打印代码。这里我想将输出代码存储在某个变量中。我如何在ruby变量中存储shell命令的输出。以下是我的任务。

desc "version number"
task :set_current_version do
  on roles(:app) do
    execute "version=#{current_path}/REVISION ; cat $version "
  end
end

我需要将cat $ version输出存储在变量中。所以我可以在另一个代码中引用这个变量。

1 个答案:

答案 0 :(得分:0)

我自己通过使用下面的捕获方法解决了这个问题。

 on '1.example.com' do
   if test("[ -f somefile.txt ]")
     execute(:cp, 'somefile.txt', 'somewhere_else.txt')
   end
   ls_output = capture(:ls, '-l')
 end