Shell脚本:导入文件

Shell脚本:导入文件,shell,Shell,我已经用函数创建了一个单独的shell脚本。例如: wsec curl.sh: generate_post_data() { cat <<-EOF { "kind": "Secret", "apiVersion": "v1", "metadata": { "name": "$SECRET_ID" }, "stringData": { } } EOF } generate_post_data() { cat检查脚

我已经用函数创建了一个单独的shell脚本。例如:

wsec curl.sh

generate_post_data()
{
  cat <<-EOF
  {
    "kind": "Secret",
    "apiVersion": "v1",
    "metadata": {
      "name": "$SECRET_ID"
    },
    "stringData": {
    }
  }
EOF
}
generate_post_data()
{

cat检查脚本是否具有执行权限


如果不是“chmod+777 wsec-curl.sh”,请试一试。

这可能意味着文件
wsec curl.sh
不在工作目录中。出于测试目的,请执行以下操作

echo Working directory is: $PWD
ls -l
. ./wsec-curl.sh
并验证shell脚本文件是否在目录中

更新:

另一种可能是您没有对该文件的读取权限,因此如果该文件存在,请尝试

chmod u+r wsec-curl.sh

我按你的方式执行了你的脚本,没有错误。@sonali pujari,不,它不需要是可执行文件

输出就是全部吗


可能的原因,IMHO,可能是您没有读取权限,或者文件不在当前目录中

但对我来说同样可以:(缺少一些权限可能是??我正在使用
#!/usr/bin/env sh
。这与此无关吗?它仍然对我有效(您不需要执行权限来获取文件。在这种情况下,它会给出一个“无此类文件或目录错误”,我想这条消息取决于shell。
dash
说,例如,“…..:未找到”,但OP没有指定他使用的shell(
sh
可以是任何东西,取决于平台),因此“无法打开”对我来说似乎是一条合理的错误消息。当然,这也可能意味着缺少读取权限。我将相应地更新我的答案。