使用别名捕获用户输入

使用别名捕获用户输入

所以我最近向我的朋友展示了这个wall命令。现在他一直用它说话,我很后悔向他展示。我想进行别名调用wall以阻止他使用它并恶作剧他。我alias wall="ls"现在这样做了。如果用户只输入,它会起作用wall,但如果我输入,wall Hello world它会像常规wall命令一样运行。有没有办法让我让别名捕获用户输入并忽略它?所以当他输入时wall hello world它仍然会像一样运行ls

答案1

函数可以优先于别名和命令。您可以在 .bashrc 中定义接受参数的函数,但忽略它们。

就像这样

  wall(){ echo " just another brick in the wall "  }

答案2

好的,那么做这些事:

sudo echo "PATH=~/.bin:$PATH" >> /home/[username]/.bashrc
sudo mkdir /home/[username]/.bin/
sudo echo "fortune | cowsay   # Or whatever command you want to run" > /home/[username]/.bin/wall
sudo chmod 755 /home/[username]/.bin/wall

这样,无论何时[username]运行命令,wall他都会得到输出fortune | cowsay。虽然不是别名,但已经足够好了。

相关内容