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

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

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

我已经创建了一个~/.bash_profile包含以下命令:

exec env -i <variables> /bin/bash <option> ~/.bashrc

对于需要终端以特定配置打开的项目,指示不要读取,/etc/bash.bashrc而只从中读取~/.bashrc。如果<option>是 --init-file,~/.bashrc则读取时不会出错。但是,--rcfile它的位置似乎没有源文件。

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

答案1

它们是同义词。

来自-4.3源shell.c的文件:bash

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

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

该参数bashrc_file存储文件名。

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

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

相关内容