gpt4 book ai didi

linux - 如何在每个 Bash 命令的开头添加一些内容?

转载 作者:太空狗 更新时间:2023-10-29 12:20:19 26 4
gpt4 key购买 nike

我想更改我的 Bash 配置,所以当我在命令提示符下键入内容(例如 foo bar)时,它实际上会执行 h foo bar

我想做是因为我经常用hilite (别名为 h)将 stderr 涂成红色,我想让这种行为永久化。

我看到的其他用途是与 Git 交互,因为我编写了很多命令,例如:

git status
git add ...
git commit ...

我想我可以使用 preexec_invoke_exec 来执行之前的事情命令正在运行,但我不知道如何更改命令或阻止它执行。

有什么想法吗?

最佳答案

您可以通过绑定(bind) return 键来为您插入 h 来实现这一点。您可以通过将此添加到您的 .input.rc 来完成此操作:

Return: "\C-ah\ \n"

或者将这个 bind 放在你的 .bashrc 中:

bind 'RETURN: "\C-ah \n"'   

(感谢 these guys )。

有一些问题:很明显,它仅适用于 bash,这可能会在某些地方产生一些非常奇怪的行为(我现在想不出一个合适的例子),所以我不会说这是“好” '以任何方式抨击。

我个人会跳过 hilite 并将其全部保留为纯 bash。因此,尝试寻找一种方法为每个命令附加一些东西,以便将 stderr 流重定向到彩色的 echo/printf...但我想这是一个偏好问题 :)

关于linux - 如何在每个 Bash 命令的开头添加一些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11435543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com