sed: 无法读取 ../../build.gradle: 没有那个文件或目录

sed: can't read ../../build.gradle: No such file or directory

我是 git 和 github 的新手。我正在做一个项目,我需要将我的更改提交到特定分支中的 github 存储库。 但是我得到了错误

$ git commit

3.5.0.1
s/3.5.0.1/3.5.1.1/g
sed: can't read ../../build.gradle: No such file or directory

我在这里也附上了预提交文件代码。

#!/bin/sh

## finding the exact line in the gradle file
#ORIGINAL_STRING=$(cat ../../build.gradle | grep -E '\d\.\d\.\d\.\d')
## extracting the exact parts but with " around
#TEMP_STRING=$(echo $ORIGINAL_STRING | grep -Eo '"(.*)"')
## the exact numbering scheme
#FINAL_VERSION=$(echo $TEMP_STRING | sed 's/"//g') # 3.5.0.1

#Extract APK version
v=$(cat build.gradle  | grep rtVersionName | awk '{print }')
FINAL_VERSION=$(echo ${v} | cut -d"\"" -f2)
echo ${FINAL_VERSION}

major=0
minor=0
build=0
assets=0

regex="([0-9]+).([0-9]+).([0-9]+).([0-9]+)"
if [[ $FINAL_VERSION =~ $regex ]]; then
 major="${BASH_REMATCH[1]}"
 minor="${BASH_REMATCH[2]}"
 build="${BASH_REMATCH[3]}"
 assets="${BASH_REMATCH[4]}"
fi

# increment the build number
build=$(echo $build + 1 | bc)
NEW_VERSION="${major}.${minor}.${build}.${assets}"


SED_ARGUMENT=$(echo "s/${FINAL_VERSION}/${NEW_VERSION}/g")
echo $SED_ARGUMENT

sed -i -e `printf $SED_ARGUMENT` ../../build.gradle

错误基本上出现在这个文件的最后一行。我正在使用 windows。 我尝试过的事情:

sed -i -e `printf $SED_ARGUMENT` ../../build.gradle



sed -i ' ' -e `printf $SED_ARGUMENT` ../../build.gradle

我无法理解我到底哪里做错了。请帮助我。

sed: can't read ../../build.gradle: No such file or directory

这个比较简单。您的 build.gradle 文件不在 ../../build.gradle.

解决方案是确定 build.gradle 文件相对于脚本的实际路径,并更改脚本中的路径。

要调试它,请在脚本中执行 echo Current Directory: $PWD 以查看实际工作目录是什么,然后您应该能够确定要使用的正确路径。