我有一个 ubuntu 安装,它正在为我的公司运行一些软件,并且我在 .bashrc 文件中添加了一些路径。当我使用 启动 WSL 时wsl -b ubuntu
,它会打印出这些内容,并一直打印下去,直到我按下 control-c。
Agent pid 549
Agent pid 556
Agent pid 563
Agent pid 570
Agent pid 577
Agent pid 584
这是我添加的行
export PATH=$PATH:/usr/local/go/bin && source $HOME/.profile
我是否需要添加其他内容或 kill 语句?
答案1
&& source $HOME/.profile
从添加的行中删除。
现在,它会重新加载您的 .profile,而 .profile 显然会在再次重新加载(sourced)之前启动代理程序。
答案2
如果您~/.profile
基于默认的 Ubuntu(从/etc/skel
帐户创建时的目录复制),那么您会注意到它包含以下几行:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
换句话说,当它检测到您正在运行 bash shell 时,~/.profile
就会获取来源~/.bashrc
。目的是使登录 shell 的行为尽可能类似于交互式非登录 shell。
因此如果你还源,最终会陷入一个无限循环,其中一个文件重复地引用另一个文件~/.profile
。~/.bashrc