如何使环境变量在 KSH 脚本之外可用?

如何使环境变量在 KSH 脚本之外可用?

我有一个导出环境变量的 KSH 脚本(export SOME_VAR=123

运行脚本后,我当前的 shell 不受影响并且echo $SOME_VAR不产生任何内容。

我尝试运行. myScript.ksh但出现以下错误:

。: 没有权限。

权限.drwxr-xr-x

有什么想法吗?(我不是 root)

答案1

您正在使用tcsh作为你的外壳:

  1. tcsh 没有.命令 – 只有source

    > source myScript.ksh
    

    狂欢shells,“ .”是内置命令,无关到“当前目录”使用.

    韓軟體tcsh,不存在这样的内置函数(等效函数名为“ source”),并且使用.将尝试执行目录,因此出现“权限被拒绝”错误。

  2. tcsh 是一个韓軟體衍生产品,并使用非常不同的语法来设置环境变量:

    setenv SOME_VAR 123
    

    这很重要,因为使用./source会导致文件的内容被执行在当前 shell 中,这意味着它们必须有效tcsh句法。

相关内容