环境变量在 shell 脚本中是空的,但在 shell 中不是
Environmental variable is empty into shell script but not in shell
一个shell脚本检查了我的一些环境变量,但是这个代码:
if [ -z "$ANDROID_NDK" -o -z "$ANDROID_SDK" ]; then
echo "You must define ANDROID_NDK, ANDROID_SDK before starting."
echo "They must point to your NDK and SDK directories.\n"
exit 1
fi
打印出 You must define ANDROID_NDK, ANDROID_SDK before starting. .....
,而不是如果在 shell 中我写命令 echo $ANDROID_SDK
或 echo $ANDROID_NDK
它给了我正确的结果。
我回答我自己的问题。
我尝试的是使用 osx 而不是 Linux 来编译 libvlc。
问题是我不知道为什么 unzip
无法提取 gradle.2.2.1.zip 文件,所以我认为我可以使用 sudo
来完成,但我是错误是因为 compile.sh
的执行在上面显示的代码中停止了,因为普通用户和 sudo 的环境变量不同。
最后,我解决了手动提取 gradle zip 文件并自行执行此命令的问题,而不是让 shell 脚本执行它们:
cd gradle-${GRADLE_VERSION}
./bin/gradle wrapper
checkfail "gradle: wrapper failed"
./gradlew -version
checkfail "gradle: wrapper failed"
cd ..
mkdir -p gradle
mv gradle-${GRADLE_VERSION}/gradle/wrapper/ gradle
mv gradle-${GRADLE_VERSION}/gradlew .
chmod +x gradlew
rm -rf gradle-${GRADLE_VERSION}-all.zip gradle-${GRADLE_VERSION}
基本上这个脚本应该在 Linux 上运行良好,但很明显解压缩在 OSX 上有一些问题。
我认为问题是 wget 由于配置错误而失败但创建了空的 zip 文件。然后,当使用 wget 重新启动脚本时,它会在没有警告的情况下创建 .1。
验证 wget 是否正常工作,删除文件夹中的每个 gradle-* 文件并重新启动 compile.sh。
一个shell脚本检查了我的一些环境变量,但是这个代码:
if [ -z "$ANDROID_NDK" -o -z "$ANDROID_SDK" ]; then
echo "You must define ANDROID_NDK, ANDROID_SDK before starting."
echo "They must point to your NDK and SDK directories.\n"
exit 1
fi
打印出 You must define ANDROID_NDK, ANDROID_SDK before starting. .....
,而不是如果在 shell 中我写命令 echo $ANDROID_SDK
或 echo $ANDROID_NDK
它给了我正确的结果。
我回答我自己的问题。
我尝试的是使用 osx 而不是 Linux 来编译 libvlc。
问题是我不知道为什么 unzip
无法提取 gradle.2.2.1.zip 文件,所以我认为我可以使用 sudo
来完成,但我是错误是因为 compile.sh
的执行在上面显示的代码中停止了,因为普通用户和 sudo 的环境变量不同。
最后,我解决了手动提取 gradle zip 文件并自行执行此命令的问题,而不是让 shell 脚本执行它们:
cd gradle-${GRADLE_VERSION}
./bin/gradle wrapper
checkfail "gradle: wrapper failed"
./gradlew -version
checkfail "gradle: wrapper failed"
cd ..
mkdir -p gradle
mv gradle-${GRADLE_VERSION}/gradle/wrapper/ gradle
mv gradle-${GRADLE_VERSION}/gradlew .
chmod +x gradlew
rm -rf gradle-${GRADLE_VERSION}-all.zip gradle-${GRADLE_VERSION}
基本上这个脚本应该在 Linux 上运行良好,但很明显解压缩在 OSX 上有一些问题。
我认为问题是 wget 由于配置错误而失败但创建了空的 zip 文件。然后,当使用 wget 重新启动脚本时,它会在没有警告的情况下创建 .1。
验证 wget 是否正常工作,删除文件夹中的每个 gradle-* 文件并重新启动 compile.sh。