zsh可以读取保留的终端关键字吗?

时间:2019-07-01 08:48:07

标签: zsh

通常,如果我在shell(zsh)中键入“ clear”,则会清除显示的内容。

这就是我想做的。

如果我键入“ clear”,则将清除外壳,并记录一些我打算发出的消息。

所以我像下面这样固定了.zshrc

clear()
{
    read REPLY

    if[[[ $REPLY =~ "clear"]]
    then
        echo "some message"
    fi
}

因此,我希望如果键入“ clear”,则将清除外壳上的内容,并且还会提示“某些消息”。

但是只有消息“一些消息”出现。

如何阅读保留的“清除”命令,而不是字符串本身?

1 个答案:

答案 0 :(得分:1)

您的功能无法清除屏幕。为此,您必须发出clear命令。但是,由于您的函数也称为clear,因此只需在函数内部键入clear就会导致无限递归。作为解决方案,使用

command clear

相反。前缀command绕过函数定义。