有没有办法在不登录用户账户的情况下编辑 .bashrc

有没有办法在不登录用户账户的情况下编辑 .bashrc

我在使用 Manjaro Linux 时遇到了问题。我使用 Android Studio 并在 bashrc 文件中添加了几行。

现在。每次我尝试登录该用户时,输入有效密码后都会卡住。当我输入错误密码时,它会显示“密码错误”并告诉我重新登录。

我 90% 确定问题出在 bashrc 文件中,但问题是我无法打开它来编辑它。

我以 root 身份登录 tty,但那里的 bashrc 文件与我的用户帐户中的文件不同。

那么。有没有办法从 tty 或类似的东西编辑我的 bashrc。我想避免重新安装系统。

谢谢。

答案1

首先,我不太清楚你指的是什么。在用户的主页中bashrc有一个: ,在中也有一个。.bashrc~/.bashrc/etc/bash.bashrc

我想你指的~/.bashrc是你的用户。那么你已经成功完成了第一部分,即以 root 身份登录。然后你只需要导航到用户主页并在那里编辑文件。

我认为您看到了不同之处,~/.bashrc因为当您以 root 身份登录时,您位于 root 主目录中,因此当您只需输入某些内容时,就像$ vi .bashrc您打开 root 的.bashrc文件一样。

答案2

当我输入错误密码时,它会显示“密码错误”并告诉我重新登录。

可能不是因为.bashrc。你(以 root 身份)可以更改用户的密码:

# as root
passwd username

username此后尝试使用新密码登录。


此片段以防万一它确实与用户有关.bashrc

~username/.bashrc.bashrc应扩展到主目录中的路径现存的用户username。这样您就可以找到文件(例如printf '%s\n' ~username/.bashrc)。

以 root 身份编辑它可能不是一个好主意,因为它可能不会就地更改文件;它可能会创建新副本然后覆盖旧文件。这可能会导致错误的所有权和权限。

这应该有效:

# as root
sudo -u username nano ~username/.bashrc

nano只是一种可能性,使用任何你喜欢的编辑器)。

注意:如果涉及加密,则可能仅在用户登录后才解密和挂载用户的主目录。在这种情况下,您需要额外的(与加密相关的)步骤才能获取正确的文件.bashrc

相关内容