Quando você usa alias ${alias_line}
, a variável é dividida em espaços, ignorando as regras de cotação.
Existem duas maneiras de corrigi-lo:
-
Remova todas as citações do arquivo de alias:
ll=ls -lart psu=ps -fu $USER
e coloque a variável entre aspas:
alias "$alias_line"
Isso funciona porque, no bash,
ll="ls -lart"
e"ll=ls -lart"
são exatamente equivalentes. -
Como alternativa (essa é uma maneira melhor e mais comum), tenha um arquivo com comandos
alias
e use o.
builtin (também conhecido comosource
) para importá-lo.alias pico='nano' alias psu='ps x' alias ll='ls -lart'
e, em seguida, no seu
~/.bashrc
:. ~/.aliases
O segundo método é melhor , pois não limita você a aliases, mas também permite definir funções , que são muito mais poderosas.