我如何编辑命令?

我如何编辑命令?

我正在尝试编辑 clear 命令。我尝试进入 bin 目录,然后执行:“gedit clear”,但最终失败,因为我无法编辑文件,否则可能会损坏它。

我正在尝试使用“clear”命令清除屏幕,然后在清除后制作一些 ASCII 艺术。我可以做到这一点,但只能使用我在 中创建的函数.bashrc。我想让它做同样的事情,但不使用不同的名称。我希望能够输入默认值clear,它就会执行我所做的操作。

如果我遗漏了什么,请见谅。我是个菜鸟。

答案1

假设您已在某处有一个脚本,可以为您绘制定义或随机的 ASCII 艺术。假设此脚本位于此处:/usr/local/bin/ascii_art.sh,并设置为可执行。

然后创建一个alias(或者~/.bashrc——~/.bash_aliases您喜欢):

alias clear='\clear; /usr/local/bin/ascii_art.sh'

现在,当您运行clear命令时,它首先执行默认二进制文件clear,然后使用 ASCII 艺术执行您的脚本。

alias您还可以通过编写更短的程序(例如),使事情变得更容易cl

或者您可以创建一个键绑定(例如Ctrl+ B)来运行您的别名 - 将以下内容添加到~/.bashrc

bind -x '"\C-b": clear'

答案2

如果您确实想要编辑命令,您需要找到源代码,修改它,然后编译它。

通常,我会首先探索创建一个新脚本(甚至一个函数)的选项,该脚本可以执行您想要执行的操作。如果它可以执行您想要的操作,请将此新脚本放入一个目录中,并预先设置一个包含清除内容的目录。

$ which clear
/usr/bin/clear

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

...例如/usr/local/bin

答案3

您不能编辑二进制文件,而应该编辑ncurses的(clear是 ncurses 包的一部分)源代码,然后编译并安装它(请参阅 ncurses 源代码中的 INSTALL 文件)。或者,如果您需要在运行 clear 之前/之后添加额外的命令,请使用 shell 脚本编写自己的脚本/使用别名。

相关内容