如何通过Azure CLI运行Git仓库中的Shell脚本以在Azure上创建Terraform相关资源
如何通过Azure CLI运行Git仓库中的Shell脚本以在Azure上创建Terraform相关资源
我来帮你解决这个问题~你遇到的'.' is not recognized...错误,本质是运行环境不兼容导致的——Shell脚本是基于Bash编写的,而你可能在Windows默认的CMD/PowerShell环境里执行,它们不识别Bash的语法(比如.是source命令的简写)。下面分两种场景给你详细说明解决方案:
一、解决手动克隆后运行脚本的报错问题
如果你还是想先克隆仓库再运行脚本,按以下步骤操作:
切换到兼容Bash的环境
推荐直接用Azure Cloud Shell(登录Azure门户后打开,默认选Bash环境),或者本地安装WSL(Windows Subsystem for Linux),也可以用Git Bash。这些环境都原生支持Bash脚本语法,不会出现命令不识别的问题。克隆你的Git仓库
在Bash环境里执行:git clone https://github.com/你的用户名/你的仓库名.git进入脚本所在目录
比如脚本在仓库的scripts文件夹下:cd 你的仓库名/scripts给脚本添加执行权限
确保脚本有可执行权限:chmod +x 你的脚本名.sh运行脚本
直接执行即可:./你的脚本名.sh如果脚本需要加载环境变量(用到
source命令),可以写成:. ./你的脚本名.sh注意这里两个
.之间有空格,这是Bash里source的简写。
二、直接运行GitHub仓库中的脚本(无需克隆整个仓库)
如果你的脚本不依赖仓库里的其他文件,完全可以直接下载并运行,省去克隆步骤:
用curl下载脚本内容,再通过Bash执行,命令如下:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/你的用户名/你的仓库名/main/脚本的完整路径.sh)"
注意替换成你自己的脚本Raw链接:在GitHub上打开脚本,点击右上角的「Raw」按钮,复制浏览器地址即可。
如果你的脚本依赖仓库里的其他文件(比如配置文件、其他子脚本),还是建议用一行命令完成克隆+运行:
git clone https://github.com/你的用户名/你的仓库名.git && cd 你的仓库名/脚本所在目录 && chmod +x 你的脚本名.sh && ./你的脚本名.sh
额外注意事项
- 确保Azure CLI已登录:运行脚本前,先执行
az login完成身份验证;如果用服务主体登录,用命令:az login --service-principal -u <客户端ID> -p <客户端密钥> --tenant <租户ID> - 指定目标Azure订阅:脚本里可以加上
az account set --subscription <订阅ID>,避免创建资源到错误的订阅下;也可以在运行脚本前先执行这条命令切换订阅。
备注:内容来源于stack exchange,提问作者Mukul Thakur
相关产品推荐
相关产品推荐

