在Ubuntu上安装程序时,我弄乱了〜/ .bashrc中的路径。现在,我无法使用ls,vim等Linux命令。因此,我无法编辑〜/ .bashrc文件(它是一个群集)。如何修复我的Shell启动文件?
答案 0 :(得分:4)
如果$ PATH丢失了,没问题,您可以在/usr/bin/
之类的任何普通地方找到您的编辑器。
因此,您可以通过以下方式开始编辑:
/usr/bin/vim .bashrc
如果使用发行版创建新用户,然后将.bashrc文件从那里复制到自己的主目录,则可以轻松地简单地创建一个新用户。每个发行版都提供了一个简单的GUI工具,用于将新用户添加到系统中。因此,它应该在没有有效的.bashrc的情况下工作。
让我感到奇怪的是:我的所有PATH设置都不直接在.bashrc中,而是在系统范围内。在fedora上,它类似于:
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
对于ubuntu,情况会有所不同。但这没关系,因为在这种情况下,创建新用户也将有所帮助;)
答案 1 :(得分:2)
指定编辑器的绝对路径(例如vim,nano或emacs)通常可以使您修复Shell启动文件。例如,要编辑并重新获得您的Bash资源文件,请执行以下操作:
/usr/bin/nano ~/.bashrc &&
. ~/.bashrc
如果您只想启动一个新的Shell,而不继承当前环境或获取当前的.profile或.bashrc文件,则可以这样做。例如:
/usr/bin/env -i /bin/bash --noprofile --norc
然后,您应该能够依靠可靠的系统默认值来编辑 PATH 或其他设置,然后手动获取Shell的启动文件,或者仅使用以下命令执行新的Shell:
command exec /bin/bash
您还可以尝试使用标准的 getconf 实用程序使用系统默认值覆盖当前shell中的PATH。例如:
export PATH=$(command getconf PATH)
您还可以将PATH手动设置为最小的默认值,例如:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
所以您可以继续处理您的问题。
这方面可能不在编程的站点范围内,尤其是因为我们没有足够的关于您的系统的信息。通常,如果您弄乱了系统范围或群集环境设置,则可能需要查看/etc/profile、/etc/profile.d、/etc/skel、NFS共享或您的帐户或其他位置中的值。正在设置应用程序PATH。
如果问题是帐户的本地问题,那么我上面提供的提示将有所帮助。您可能还会考虑登录另一个没有相同问题的帐户。
知道要解决多系统配置问题的位置,或者知道特定于系统或用户的PATH设置应该在合理的堆栈溢出问题范围之外。除此之外,以上任何一种解决方案都应该有效。