You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby标准库exec中变量展开的正确引号语法咨询

Ruby脚本实现变量展开的正确引号语法

在Ruby中,要实现变量展开(插值),需要使用双引号(" "),单引号会将内容视为纯文本,不会解析#{}格式的变量。

针对你提供的脚本,修正后的写法有两种:

  1. 用双引号包裹整个命令字符串,触发变量插值:
ARGF.each do |l|
  exec "cp #{l} #{l}.bk"
end
  1. 更安全的数组传参方式(避免shell注入风险,无需依赖引号插值):
ARGF.each do |l|
  exec "cp", l, "#{l}.bk"
end

注意:原脚本中直接写exec cp #{l} #{l}.bk是语法错误,Ruby会把cp当作方法调用而非shell命令的一部分,必须用引号或数组形式明确命令内容。

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:20:19