通常,如果我在shell(zsh)中键入“ clear”,则会清除显示的内容。
这就是我想做的。
如果我键入“ clear”,则将清除外壳,并记录一些我打算发出的消息。
所以我像下面这样固定了.zshrc
,
clear()
{
read REPLY
if[[[ $REPLY =~ "clear"]]
then
echo "some message"
fi
}
因此,我希望如果键入“ clear”,则将清除外壳上的内容,并且还会提示“某些消息”。
但是只有消息“一些消息”出现。
如何阅读保留的“清除”命令,而不是字符串本身?
答案 0 :(得分:1)
您的功能无法清除屏幕。为此,您必须发出clear
命令。但是,由于您的函数也称为clear
,因此只需在函数内部键入clear
就会导致无限递归。作为解决方案,使用
command clear
相反。前缀command
绕过函数定义。