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

Linux环境下如何将变量正确传入Azcopy命令参数?

解决Azcopy命令中变量解析及0文件传输问题

先确认变量解析情况

bash环境下,双引号包裹的内容里变量$mm会被正常解析,你可以先单独打印源URL验证变量是否替换成功:

mm=04
echo "https://reco.blob.core.windows.net/raw-voi-2022/2022-$mm/*?sv=2020-0RgUNH8A%3D"

如果输出中2022-$mm变成2022-04,说明变量解析无问题,0文件传输是其他原因导致。

0文件传输的常见修复方案

1. 添加递归复制参数

Azcopy默认不会递归遍历目录下的文件,必须加上--recursive(或缩写-r)参数才能复制目录内的所有内容:

mm=04 ; start="START DATE: $(date)" ; azcopy cp -r "https://reco.blob.core.windows.net/raw-voi-2022/2022-$mm/*?sv=2020-0RgUNH8A%3D" "https://storage.blob.core.windows.net/bin-voi-2022/2022-$mm?sv=2021-0HGICxvaLULI%3D"

2. 验证源路径文件存在性

登录Azure存储账户,确认raw-voi-2022容器下的2022-04目录确实包含文件,空目录会导致Azcopy无内容可传输。

3. 检查SAS Token权限

  • 源SAS Token需要具备**读取(Read)**权限,确保能访问源文件
  • 目标SAS Token需要具备**写入(Write)和创建(Create)**权限,确保能向目标容器写入文件

命令优化建议

原命令中start=echo "START DATE: $(date)"``可简化为start="START DATE: $(date)",无需嵌套反引号调用echo,写法更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 00:27:44