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 $USERe 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
aliase 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.