As funções podem ter precedência sobre aliases e comandos. Você pode definir a função em seu .bashrc, que receberá argumentos, mas apenas os ignorará.
Como assim
wall(){ echo " just another brick in the wall " }
Então, mostrei recentemente ao meu amigo o comando wall
. Agora ele continua usando para falar e eu me arrependo de mostrar a ele. Eu quero fazer um apelido chamar wall
para impedi-lo de usá-lo e também brincar com ele. Eu fiz alias wall="ls"
por enquanto. Ele funciona se o usuário digitar apenas wall
, mas se eu digitar wall Hello world
, ele funcionará como um comando normal wall
. Existe uma maneira de obter o alias para capturar a entrada do usuário e ignorar isso? então, quando ele digitar wall hello world
, ele ainda funcionará como ls
?
As funções podem ter precedência sobre aliases e comandos. Você pode definir a função em seu .bashrc, que receberá argumentos, mas apenas os ignorará.
Como assim
wall(){ echo " just another brick in the wall " }
OK, faça o seguinte:
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
Dessa forma, sempre que [username]
executar o comando wall
, ele obterá a saída de fortune | cowsay
. Não é um apelido, mas é bom o suficiente.
Tags command-line bash alias