不使用 bash 命令恢复 ~/.bashrc

Joh*_*Tam 8 linux bashrc

我想我在添加路径时有一个错字~/.bashrc,在我找到它之后,我不能再使用 bash 命令了。

现在我想恢复正常~/.bashrc,但是我发现的大部分讨论(例如如何修复被错误编辑的 .bashrc?)需要使用 bash 命令,例如cp

clam@cuerei:~# cp /etc/skel/.bashrc ~
cp: /home/cltam/script/lib/libc.so.6: version `GLIBC_2.17' not found (required by cp)
Run Code Online (Sandbox Code Playgroud)

我可以知道如何在~/.bashrc不使用 bash 命令的情况下进行恢复吗?

谢谢你。

use*_*686 25

cp不是 bash 命令——它是一个外部程序。这就是它失败的原因;实际的 bash 命令不会受到库或路径更改的影响。所以你想要相反的,即使用bash 命令。

您可以使用以下命令完全删除文件的内容:

true > ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

或者用其他一些内容覆盖:

echo "" > ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

或者您可以尝试暂时撤消 live shell 中的错误更改:

unset LD_LIBRARY_PATH LD_PRELOAD LD_AUDIT
export PATH=/bin:/usr/bin
cp /etc/skel/.bashrc ~
Run Code Online (Sandbox Code Playgroud)

或者您可以仅使用 shell 内置函数逐行复制文件的内容:

while IFS="" read -r line; do
    echo "$line";
done < /etc/skel/.bashrc > ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

  • 在一个上锁的低湿度温度控制保险库中,只有当两把钥匙在相距八英尺的锁中同时转动时才能进入......哎呀,对不起。 (4认同)
  • 或者更简单地说,只需`unset LD_LIBRARY_PATH` 并使用`vim` 或其他任何东西来修复现有`.bashrc` 中的错字,然后重新获取它。没必要把它擦掉。 (4认同)
  • 当然,我不是唯一一个保留关键二进制文件的静态链接副本的人。 (2认同)
  • 或从现场 USB 启动 (2认同)

Joh*_*Tam 0

我已按照 @Peter Cordes 建议通过以下方式撤消我的编辑:取消设置 LD_LIBRARY_PATH。

非常感谢!