以下是我从演讲中记下的:
.bashrc
在您的主目录中查找文件vi .bashrc
问题是.bashrc
我的主目录中没有文件。.bash_history
我家只有一个文件。
如果我转到根目录,那里有一个etc/bash.bashrc
文件,但我认为它会对所有用户进行更改,而不仅仅是对我。我想为自己添加这条路径。应该不会影响到其他人。$PATH
那个 bashrc 文件中也没有变量,所以我更加困惑。
小智 25
不要忘记它是您主目录中的一个隐藏文件(您不会是第一个执行 als -l
并认为它不存在的人)。
做以下...
ls -la ~/ | more
Run Code Online (Sandbox Code Playgroud)
.bashrc
第一页应该有。如果不只是创建它
vi ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
只需在其中写入以下行即可。
PATH=$PATH:~/bin
Run Code Online (Sandbox Code Playgroud)
或
大多数发行版都将标准.bashrc
文件保存在/etc/skel/
您可以将其复制到主目录中。
$cp /etc/skel/.bashrc ~
Run Code Online (Sandbox Code Playgroud)
从调用部分man 1 bash
说:
当启动非登录 shell 的交互式 shell 时,bash 将从 /etc/bash.bashrc 和 ~/.bashrc 读取并执行命令(如果这些文件存在)。
请注意,这些启动文件是可选的;Bash 不需要它们。Bash 还区分登录 shell 和交互式 shell。交互式 shell 的定义如下:
交互式 shell 是一种不带非选项参数且不带 -c 选项的 shell,其标准输入和错误都连接到终端(由 isatty(3) 确定),或者是使用 -i 选项启动的 shell。
许多发行版从另一种类型中获取一种类型的启动文件,但有些发行版则不然,因此这个问题可能很难以规范的方式解决。您需要检查所有启动文件,以了解系统上如何以及何时调用您的启动~/.bashrc
文件。
如果您只是缺少特定于用户的~/.bashrc
文件,只需创建一个即可。对于非登录 shell(例如,在没有--login
标志的情况下启动的 shell),或者每当您通过使用标志调用 shell 来强制 shell 进行交互时,Bash 都会调用它-i
。