首页 > 解决方案 > Shell 无法打开 libs/init 另一个 shell 脚本

问题描述

我有一个 shell 脚本,应该导入另一个 shell 脚本:

#!/bin/sh

. libs/init

但是它抱怨:

/sh/main.sh: 3: .: Can't open libs/init

该文件夹的结构如下:

在此处输入图像描述

文件内容init.sh

#!/bin/sh

echo "<===========================================>"
echo "Check if all variables are set"
echo "<===========================================>"

[ -z "$DO_AC" ] && exit 1
[ -z "$K8S_CLUSTER" ] && exit 1
[ -z "$ARGO_SERVER" ] && exit 1
[ -z "$ARGO_USERNAME" ] && exit 1
[ -z "$ARGO_PW" ] && exit 1
[ -z "$IMAGE_URL" ] && exit 1
[ -z "$IMAGE_VERSION" ] && exit 1
[ -z "$CHARTS_URL" ] && exit 1
[ -z "$GITOPS_URL" ] && exit 1
[ -z "$APP_TYPE" ] && exit 1
[ -z "$APP" ] && exit 1
[ -z "$APP_URL" ] && exit 1
[ -z "$GIT_USER" ] && exit 1
[ -z "$GIT_AT" ] && exit 1
[ -z "$APP_TLS_SECRET" ] && exit 1
echo "All variables are set"

我究竟做错了什么?

标签: bashshell

解决方案


chmod u+r init.sh

这将确保您具有对该文件的读取权限,该错误消息向我建议,可能是您的问题。权限有时会因为一些奇怪的原因而改变;但是,只要您不随意设置 suid root ,这并不是什么灾难。


推荐阅读