我知道有很多这样的问题,但不幸的是我对 Ubuntu 了解不够,无法将其应用于我的情况。我把所有工作资料都保存在远程机器上,我通过 ssh 访问。我试图用我在那里的 conda 环境更改某些内容,并在 .bashrc 文件中更改了某些内容,现在我无法使用 vim 或 ls - 似乎没有文本编辑器或命令起作用。
echo $PATH
返回:
/home/percyrou/bin:/home/percyrou/bin:/home/user/bin:~/ghf_env/bin/
据我记得,在我意外更改 .bashrc 文件之前,PATH 就像是这样的:/home/user/bin:
我认为所有这些额外的部分都被添加了,因为我试图用以下方法更改它:
echo 'export PATH="/home/percyrou/bin:$PATH"' >> ~/.bashrc
(或者只是用 user 而不是 percyrou,因为我不确定是哪个),它似乎将其添加到 PATH 而不是替换它。我已经运行了source ~/.bashrc
我也尝试过scp
将 .bashrc 文件下载到本地机器并在那里进行编辑,但是也返回了bash: scp: command not found
,我猜是因为scp
也包含在我的 .bashrc 文件中。
请帮忙!我不知道如何从这里继续再次访问我的路径变量。:(
答案1
您仍然可以使用scp
和其他命令,只是您需要输入绝对路径,如/usr/bin/scp
而不是仅仅scp
(或类似地/usr/bin/ls
而不是等等ls
),因为 shell 无法在您的 上找到这些命令$PATH
。
尝试/usr/bin/cat .bashrc
显示文件内容.bashrc
或/usr/bin/vim .bashrc
编辑它。如果无法通过编辑使文件正常工作,则.bashrc
在 下有一个默认文件(在创建帐户时复制到每个用户的主目录)/etc/skel/.bashrc
。使用以下命令将其复制覆盖当前.bashrc
文件:
/usr/bin/cp /etc/skel/.bashrc .bashrc
答案2
重置路径至最低可用版本
PATH=$(getconf PATH)
然后修复你的 .bashrc