Supondo que você esteja usando bash_aliases
(não é necessário, você também pode ter apelidos definidos em .bashrc
entre outros lugares), você pode simplesmente adicionar uma linha ao arquivo:
printf "alias foo='bar'" >> ~/.bash_aliases
Como alternativa, se você quiser apenas esse alias para a sessão atual, use o comando alias diretamente:
alias foo='bar'
Importante
O Bash não permite que aliases sejam expandidos (para funcionar) em scripts por padrão, você precisará ativar a opção expand_aliases
:
#!/usr/bin/env bash
alias foo='echo "It works!"'
echo " Alias defined, attempting to use without expand_aliases"
foo
shopt -s expand_aliases
echo " Attempting to use with expand_aliases"
foo
Se eu executar o script acima, o alias foo
só funcionará depois que eu ativar a opção expand_aliases
:
$ a.sh
Alias defined, attempting to use without expand_aliases
/home/terdon/scripts/a.sh: line 5: foo: command not found
Attempting to use with expand_aliases
It works!