首页 > 解决方案 > 如何修改标准的linux命令?

问题描述

我正在寻找一种方法来编辑常见 Linux 命令(passwd、cd、rm、cat)的源代码

前任。每次(由任何用户)调用“cat”命令时,它都会执行其常规功能,但之后还会将“done”打印到标准输出。

标签: linuxterminalrootpasswd

解决方案


如果您只想像示例中那样“增强”命令,则可以创建例如/opt/bin/cat.sh

/bin/cat && echo "done"

然后是:

更改默认值PATH/etc/bash.bashrc在 Ubuntu 中)如下:

PATH=/opt/bin:$PATH

或重命名cat为 egcat.origcat.sh移至/bin/cat. (如果你做后者,你的脚本需要调用cat.orignot cat)。

如果你想真正改变行为,那么你需要在这里查看源代码: https ://ftp.gnu.org/gnu/coreutils/ 然后构建它们并替换它们。

当然,所有这些都假设您具有 root 权限,并了解您希望如何为任何用户更改该行为。


推荐阅读