首页 > 解决方案 > Microsoft AppCenter 上用于预构建脚本的 bash 脚本错误

问题描述

我在 appcenter 上的预构建脚本有问题。Appcenter 使用 bash 作为预构建脚本。我想在我的 api.js 文件中将“qa.api”更改为“beta.api”。

我尝试了以下方法,但似乎不起作用:

#!/usr/bin/env bash
if [ "$APPCENTER_BRANCH" != "master" ];
then
    cd App/Services/
    echo "changing QA API to Production API (beta)"
    sed -i 's/qa.api/beta.api/g' Api.js
fi

所以我简化了它,但它仍然不起作用:

#!/usr/bin/env bash
cd App/Services/
sed -i 's/qa.api/beta.api/g' Api.js`

有任何想法吗?

标签: bashvisual-studio-app-center

解决方案


sed 的-i选项采用一个参数来指示在进行备份时要添加到文件名的扩展名。与 linux 版本不同,在 macOS 上,此扩展参数是必需的。

尝试在此处提供一个空字符串: sed -i '' 's/qa.api/beta.api/g' Api.js


推荐阅读