Dash非交互式非登录rc文件

Dash非交互式非登录rc文件

dash 有非交互式非登录 rc 文件吗?我已阅读手册页,其中推荐了.profile登录 shell 和$ENV交互式 shell 的环境变量。

是否有任何针对非交互式非登录 shell 运行的内容,例如zshzshenv文件或bash$BASH_ENV环境变量? Bourne shell 也有等效的文件吗?


到目前为止我能想到的最好的办法(虽然一点也不理想,因为它需要我编辑每个脚本)是编辑 shebang,如下所示:

#!/bin/sh /path/to/script

f

其中/path/to/script包含

f() { echo "/path/to/script"; }

答案1

典型的 shell 没有为非交互式 shell 读取的 rc 文件。

.profile读取由以argv[0]开头的标识的登录 shell -

$ENV由交互式 POSIX shell 读取,如果尚未设置,则 shell 使用它自己的默认值。这是.kshrc为了ksh.bashrc为了bash.shrc为了较新版本的Bourne Shell.

然而,Dash 没有定义默认值$ENV,因此通常不会读取它,即使在交互模式下也是如此。

相关内容