bash
's shebang中推荐的选项是什么?
#!/bin/bash -e
我目前拥有它,如上所述。此消息来源$HOME/.bashrc
。
我不想获取用户的.bashrc
/源.profile
,因为它可能会干扰脚本,并且会延迟脚本的启动(主目录通常位于网络驱动器中)。
是否有一些命令行选项可以禁用此功能?
其他建议放置的标志是什么?
答案1
您只需确保BASH_ENV
未设置即可。从以下INVOCATION
部分bash(1)
:
当 bash 以非交互方式启动时,运行 shell 脚本,例如 例如,它在环境中查找变量 BASH_ENV,展开 如果它出现在那里,则为它的值,并使用扩展值作为名称 要读取和执行的文件。 Bash 的行为就像下面的命令一样: 并被执行: 如果[-n“$BASH_ENV”];然后 。 “$BASH_ENV”;菲 但 PATH 变量的值不用于搜索文件 姓名。
当 shell 交互启动时,会读取其他点文件(~/.bash_profile
、等)。~/.bash_logout
不幸的是,您无法通过脚本控制环境,即使使用#!env
(只需要一个参数,在本例中为 shell 程序bash
)。您可能希望的最好结果是清除脚本或包装器中的环境,并从一个清晰的环境开始,这可能不是您想要的。
答案2
只要读一点“man bash”就可以了。
在“INVOCATION”部分下,您会发现“--无配置文件“ 或者 ”--诺克“选项应该可以解决问题。