我一直在使用 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”的同义词。