Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rake Capistrano-如何传递动态参数以执行shell命令_Ruby On Rails_Ruby_Parameters_Rake_Capistrano - Fatal编程技术网

Ruby on rails Rake Capistrano-如何传递动态参数以执行shell命令

Ruby on rails Rake Capistrano-如何传递动态参数以执行shell命令,ruby-on-rails,ruby,parameters,rake,capistrano,Ruby On Rails,Ruby,Parameters,Rake,Capistrano,在我的Rake capistrano脚本中,我正在创建需要动态参数的shell命令。我的rake代码如下 execute "sed -i '/SPARK_HOME=/c\\export SPARK_HOME=<arg1>' #{release_path}/backend_layer/configs/hdfs/cluster.sh" 执行“sed-i'/SPARK_HOME=/c\\export SPARK_HOME='{release_path}/backend_layer/con

在我的Rake capistrano脚本中,我正在创建需要动态参数的shell命令。我的rake代码如下

execute "sed -i '/SPARK_HOME=/c\\export SPARK_HOME=<arg1>' #{release_path}/backend_layer/configs/hdfs/cluster.sh"
执行“sed-i'/SPARK_HOME=/c\\export SPARK_HOME='{release_path}/backend_layer/configs/hdfs/cluster.sh”

我如何调用这个rake并发送参数,以便我的命令是动态的

desc 'Passing argument on rake task'
task :symlink_shared, [:arg1] => :environment do |t, args|
  execute "sed -i '/SPARK_HOME=/c\\export SPARK_HOME=#{args.arg1}' #{release_path}/backend_layer/configs/hdfs/cluster.sh"
end
cap staging postdeploy:symlink_shared[<your_arg1>]
然后,使用如下参数运行cap脚本

desc 'Passing argument on rake task'
task :symlink_shared, [:arg1] => :environment do |t, args|
  execute "sed -i '/SPARK_HOME=/c\\export SPARK_HOME=#{args.arg1}' #{release_path}/backend_layer/configs/hdfs/cluster.sh"
end
cap staging postdeploy:symlink_shared[<your_arg1>]
cap staging postdeploy:symlink_shared[]