删除bash,我该如何恢复?

我删除了/bin/bash 。 我打开了terminal,但稍后自动closures。 我是sudo组的普通用户。

我该怎么办? 我很恐慌。

我可以用Python / Perl更改/etc/passwd文件许可权,并将我的用户名中的shell脚本从bash更改为zsh ,然后注销并重新login? 我必须从PHP运行Python / Perl,因为我没有访问terminal。

或者我该怎么做? 这是Ubuntu桌面。

您应该能够重新安装bash,就像您从系统中移除的任何软件包一样。 棘手的部分是得到一个shell,因为你的shell二进制文件现在丢失(即: /bin/bash )。

你应该能够:

  1. 启动到一个像@ SmallLoanOf1M提到的现场CD环境。 你需要根据你现有的RFS,重新安装你的bash软件包(所以你需要build立networking来与你configuration的repo进行交stream)。

要么

  1. 通过直接编辑boot-loader内核参数直接引导到单用户模式,通过将/bin/sh附加到内核参数,然后从那里重新安装bash。 YMMV在这里,因为你将从/bin/sh工作,这是不会给你相同的内置,也不会让你的标签自动完成。

当然,如果可能的话,选项2将是更可取的。

祝你好运!