bash - 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"
我究竟做错了什么?
解决方案
chmod u+r init.sh
这将确保您具有对该文件的读取权限,该错误消息向我建议,可能是您的问题。权限有时会因为一些奇怪的原因而改变;但是,只要您不随意设置 suid root ,这并不是什么灾难。
推荐阅读
- c++ - 转换结构数据的字节顺序
- django - Elastic Beanstalk 上的 Django,如何将已编辑视频的输出文件保存到 S3 存储桶中
- java - SwaggerGen 枚举生成空数据类型
- centos7 - 如何在 centos 7 上运行 .sln 文件
- java - 如何获取找到该单词的行号?
- python - 为什么同一类的不同对象显示相似的结果?出路是什么?
- javascript - React Native:如何将屏幕更改/导航为子组件?
- azure - 由于 netcore 3.1.4 安全补丁导致 Azure 出错
- sling - 如何在 Apache Sling 或 Jackrabbit Oak 中进行用户模拟?
- linux - 如何使用并行命令调整多个 png 文件的大小并保留源文件中的部分名称?