--init-file 和 --rcfile 有什么区别?

Mut*_*pus 8 bash bashrc

我一直在使用 bash,我遇到了--rcfile--init-file选项。Bash 的手册页在同一部分列出了这些,但它们的行为似乎不同。考虑以下场景:

我创建了一个~/.bash_profile具有以下命令的:

exec env -i <variables> /bin/bash <option> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

用于需要终端以特定配置打开的项目;它被指示不要读取/etc/bash.bashrc,而是只读取~/.bashrc. 如果<option>是--init-file,~/.bashrc则读取没有错误。然而,--rcfile在它的位置似乎没有来源文件。

这两个看似相同的命令有什么区别?

hee*_*ayl 8

它们是同义词。

来自-4.3源shell.c文件bash

long_args[] = {
....
  { "init-file", Charp, (int *)0x0, &bashrc_file },
....
  { "rcfile", Charp, (int *)0x0, &bashrc_file },
....
};
Run Code Online (Sandbox Code Playgroud)

如您所见,它们的定义方式相同,工作方式也相同。

该参数bashrc_file存储文件名。

为了进一步保证,CHANGES源中的文件包含:

根据新的 GNU 编码标准,添加了一个新的“--init-file”调用参数作为“--rcfile”的同义词。