在执行“重启”之前询问?

Nat*_*wen 5 bash ubuntu reboot

我经常(每天一整天)打开一个 minicom 终端选项卡,并从我的 Ubuntu 笔记本电脑在嵌入式 Linux 系统上执行命令。有时我必须执行reboot命令,有时,我很惭愧地承认,我不小心reboot在错误的选项卡中执行了,而我的笔记本电脑完全按照它的设计进行了设计,而没有提出任何问题......

我正在使用 Ubuntu 16.04 LTS 并尝试安装 molly-guard 但没有效果。

100 次中有 99 次我没有搞砸,但我的笔记本电脑需要 10 分钟才能重新启动,而且我执行的reboot频率足够高,这很烦人。

是否有一些黑魔法,我可以添加到我的自定义终端窗口设置 bash 脚本中,这将使reboot映射到其他内容(最好仅用于该 bash 会话)?

Joh*_*024 13

~/.bashrc您的笔记本电脑上的文件中(不是在嵌入式机器上),添加以下行:

reboot() { echo  "Hey, don't do that!"; }
Run Code Online (Sandbox Code Playgroud)

如果您确实想reboot在笔记本电脑上运行,则可以通过运行sudo reboot或来绕过此功能/sbin/reboot


或者,您可以按照man0v 的建议使用以下命令使其更友好:

reboot () { echo 'Reboot? (y/n)' && read x && [[ "$x" == "y" ]] && /sbin/reboot; }
Run Code Online (Sandbox Code Playgroud)

我建议放置这样一个函数,~/.bashrc因为我们希望它在交互式 bash 会话中可用。

  • 或者你可以有 `reboot () { echo 'Reboot? (y/n)' && 读取 x && [[ "$x" == "y" ]] && /sbin/reboot }` (3认同)