我刚刚开始使用Linux。我正在使用 Ubuntu,我认为我犯了一个非常严重的错误。我制作了一个脚本,出于某种愚蠢的感觉,我决定将其移动到我的/bin
文件夹中,但我不小心输入了
mv /home/kenny/script /bin/bash
现在我已经失去了我的狂欢,不知道该怎么办。每次运行 bash 时,我都会收到“符号链接太多”错误。
我可以做什么来恢复我的 /bin/bash?
答案1
你可以尝试跑步来/bin/sh
代替。
之后,重新安装 bash:
sudo apt-get install --reinstall /bin/bash
这应该可以解决您的错误。
答案2
ubuntu系统本身使用的主要shell是/bin/dash
.
所以尝试运行它。它没有像完成这样的交互式使用功能,但就基本 shell 功能而言,它是一个完整的 shell。
您已经评论了/bin/sh
缺少的内容,这是指向 的符号链接/bin/dash
。
链接或dash
二进制文件丢失。
但我预计 Ubuntu 没有它就做不了多少事情dash
,而且它似乎仍在运行 - 所以我们可以希望希望/bin/dash
是存在的。
也许系统中的某些脚本是使用 来运行的dash
,但指定为使用sh
,但现在缺少了。
/bin/sh
您可以通过以下方式重新创建指向的符号链接/bin/dash
:
sudo ln -s -r /bin/dash /bin/sh
系统本身不需要bash
- Ubuntu 系统中的所有脚本都应该以dash
.
默认情况下,只有交互式终端运行 bash,并且当自定义脚本以 行开头时,需要使用 bash #!/bin/bash
。
其他可以尝试的 shell:
/bin/zsh
/bin/csh
/bin/tcsh
/bin/mksh
/bin/lksh
答案3
检查一下你是否有 bash /usr/bin/
。
如果是这样,如果它像我的发行版一样,那么/bin
是一个链接到/usr/bin/
;因此,希望您/bin/bash
的 mv 崩溃了,并且可以从/usr/bin/