无法登录,在添加 Flutter 时更改 /etc/profile 文件后,我在 Fedora 36 中遇到了登录循环

无法登录,在添加 Flutter 时更改 /etc/profile 文件后,我在 Fedora 36 中遇到了登录循环

我正在安装 Flutter 并将以下行添加到/etc/profile

if [ "`id -u`" -eq 0 ]; then
   PATH="..."
else
   PATH="/usr/local/bin:...:/etc/lib/flutter/bin"
fi
export PATH

这正是我编辑文件的方式。现在我无法使用Alt+ Ctrl+登录终端F3。成功登录会给我一个无法正常运行的 bash。

请注意,我只是附加了这一点。

所以我的问题是,这是否意味着我的路径读取/usr/local/bin:...:/etc/lib/flutter/bin并且其他目录不在路径中。我该如何编辑环境变量?

答案1

shell 仍可正常运行。您可以通过实际路径运行命令:

$  /bin/sudo /bin/nano /etc/profile

(大多数程序位于 /bin 或 /usr/bin 中;在 Fedora 中这两个位置是等效的。)

PATH=或者按照在 /etc/profile 中所做的相同方式在 shell 中执行更改:

$  PATH="/bin:/usr/bin:$PATH"
$  export PATH
$  sudo nano /etc/profile

在你遵循的教程中,你应该找到现存的在 /etc/profile 中完成 PATH= 配置的地方,即应该使用实际的系统路径,而不是文字的...

什么时候追加新的配置添加到文件中,您可以使用它$PATH来引用当前值,并仅在之前/之后添加所需的目录。例如,本教程可能应该建议这样做:

if [ "`id -u`" -ne 0 ]; then
    PATH="/usr/local/bin:$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
fi
export PATH

答案2

我最终通过使用我的 Ubuntu 操作系统解决了这个问题。在 Ubuntu 中,我做了以下操作:

sudo -H nautilus

然后我探索/etc/并打开了该文件Profile并删除了我添加到该文件的代码,现在我回到了我的 Fedora 36 工作站。

相关内容