Alguns posts atrás, alguém perguntou como mostrar a memória em porcentagem. Alguém respondeu com:
free | awk '/^Mem/ { printf("free: %.2f %\n", $4/$2 * 100.0) }'
Eu queria saber se posso transformar este comando em um alias em ~/.bashrc. Mas a sintaxe do alias é:
alias aliasname='command'
Como posso fazer isso? Esse comando contém '
e "
. Tentei de várias maneiras, mas não funcionou. Isso é mesmo possível? Estou esquecendo de algo?
Dizer que a sintaxe de um alias é
alias aliasname='command'
um pouco enganador, pois parece implicar que as aspas simples fazem parte da sintaxe. Eles não são. A parte após o sinal de igual é semelhante às atribuições de variáveis, pois pode ser qualquer palavra shell , composta por caracteres simples (sem aspas), uma string entre aspas ou uma combinação.Todos são válidos e os três últimos são equivalentes:
Portanto, tudo o que você precisa fazer é escapar das aspas corretamente para tê-las dentro do valor do alias.
Veja, por exemplo, esta resposta e outras respostas para, por exemplo, essas perguntas para discussão sobre isso:
Ou use function em vez de um alias para se livrar completamente dos problemas de citação:
Você precisa:
Observe que você precisa escapar tanto
"
e$
.