linux - 如何修改标准的linux命令?
问题描述
我正在寻找一种方法来编辑常见 Linux 命令(passwd、cd、rm、cat)的源代码
前任。每次(由任何用户)调用“cat”命令时,它都会执行其常规功能,但之后还会将“done”打印到标准输出。
解决方案
如果您只想像示例中那样“增强”命令,则可以创建例如/opt/bin/cat.sh
:
/bin/cat && echo "done"
然后是:
更改默认值PATH
(/etc/bash.bashrc
在 Ubuntu 中)如下:
PATH=/opt/bin:$PATH
或重命名cat
为 egcat.orig
并cat.sh
移至/bin/cat
. (如果你做后者,你的脚本需要调用cat.orig
not cat
)。
如果你想真正改变行为,那么你需要在这里查看源代码: https ://ftp.gnu.org/gnu/coreutils/ 然后构建它们并替换它们。
当然,所有这些都假设您具有 root 权限,并了解您希望如何为任何用户更改该行为。
推荐阅读
- javascript - 如何提高webrtc的码率?
- android - Android Q 上的 AMediaExtractor setDataSource AMEDIA_ERROR_UNSUPPORTED 错误
- java - 即使使用 @Fetch(FetchMode.JOIN),JPA + Hibernate 也会出现太多查询问题
- javascript - 有时我的机器人无法继续流动。一张卡继续循环。(直线特定问题,在 MS-Teams 中没有上升)
- google-cloud-platform - GKE 自动缩放不会缩小
- angular - 角 | 如何在应用程序解析之前初始加载数据?
- python - Django allauth 登录/注销错误:is_safe_url() 缺少 1 个必需的位置参数“allowed_hosts”
- c# - CommonOpenFileDialog 显示无法选择的文件
- swift - 为什么不实现 UIGestureRecognizerDelegate 协议的所有方法都可以?
- macos - fastlane 是否能够发布到 Mac App Store