我正在开发LinuxUbuntu16.04。
在这个挑战中,我想从Linux中删除一些命令。
具体来说,我想删除exit命令。
我希望如果用户尝试使用这个命令退出shell,这是不可能的,甚至可能会发送一些消息。
知道我该怎么做吗?
我搜索了一个名为exit的文件:
find / -name exit
但它只找到了目录:
/usr/src/linux-headers-4.13.0-41-generic/include/config/have/exit
/usr/src/linux-headers-4.13.0-41-generic/include/config/have/irq/exit
/usr/src/linux-headers-4.13.0-43-generic/include/config/have/exit
/usr/src/linux-headers-4.13.0-43-generic/include/config/have/irq/exit
/usr/src/linux-headers-4.13.0-36-generic/include/config/have/exit
/usr/src/linux-headers-4.13.0-36-generic/include/config/have/irq/exit
/usr/src/linux-headers-4.15.0-43-generic/include/config/have/exit
/usr/src/linux-headers-4.15.0-43-generic/include/config/have/irq/exit编辑:
我读过这里关于使用像这样的trap的trap "ENTER-COMMAND-HERE" EXIT,并且尝试了trap "sh" EXIT,但是它仍然存在于shell中。
发布于 2019-01-08 10:43:34
没有exit可执行文件,这是shell的一个内置命令(您不知道是什么shell,所以我假设是bash)。因此,完全删除它的唯一方法是编辑shell的源代码并重新编译它(但是查看@Kusalananda的答复以获得更好的方法)。
作为一种选择,您可以在/etc/bash.bashrc中添加这样的内容:
alias exit='echo "You can check-out any time you like, but you can never leave!"'但是,对于那些对*nix知之甚少的人来说,这是很容易避免的。
https://unix.stackexchange.com/questions/493192
复制相似问题