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

Rake Capistrano - how to pass dynamic parameters to execute a shell command

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

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

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

像下面这样写你的 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 脚本

cap staging postdeploy:symlink_shared[<your_arg1>]