我有一个文件bashrc
,它创建了一堆变量和对程序的引用,我通常不希望在我的bash shell中有,所以它不是我的~/.bashrc
文件的一部分,如果我需要它们,我可以将其源为~/path/bashrc
。
不必键入整个路径,因为我经常使用它,我在$PATH
中的一个目录中有一个脚本,其中只包含几行来获取它
#!/bin/bash
source ~/path/bashrc
假设脚本名为extra-stuff
。我知道要运行它而不将文件放到子shell中我必须在
. extra-stuff
有没有一种方法可以让这种情况发生,而不必使用.
?那么,是否有一种方法可以通过调用脚本来获取通常为。bashrc的一些额外部分,就像调用任何其他随机二进制文件一样?
是否有一种方法可以通过调用脚本来获取通常是。bashrc的一些额外部分,就像您调用任何其他随机二进制文件一样?
不能通过调用脚本。但是你可以调用一个函数。在你的~/.bashrc
写
extrastuff() {
source path/to/optional/rc/file
}
或者直接将所有内容写入函数中,从而忽略可选的rc文件:
extrastuff() {
# do stuff just as you would do in path/to/optional/rc/file
# only if you use declare/typeset, you have to add the -g option
}
然后,在您的交互式终端会话中,输入extrastuff
来执行该函数。