Escolha um e remova a necessidade ou escape do outro. Por exemplo, usando ""
para indicar os limites da string (o que parece mais fácil neste caso específico), primeiro colocamos aspas ao redor da string:
alias cpu="top -b n 2 -d 0.01 | grep 'Cpu' | tail -n 1 | awk '{print "cpu=" 100.0-$8 "%"}'"
Em seguida, precisamos escapar das aspas internas para que elas não terminem a string conforme visto pelo shell:
alias cpu="top -b n 2 -d 0.01 | grep 'Cpu' | tail -n 1 | awk '{print \"cpu=\" 100.0-$8 \"%\"}'"
Então, $8
se torna uma expansão de variável de shell (ao invés de uma expressão de variável awk) neste contexto, então precisamos escapar disso também. Isso não teria sido necessário se tivéssemos conseguido usar ''
(apóstrofos retos) para indicar os limites da string para o shell.
alias cpu="top -b n 2 -d 0.01 | grep 'Cpu' | tail -n 1 | awk '{print \"cpu=\" 100.0-\ \"%\"}'"
Depois de executar a versão final acima, funciona:
$ alias cpu="top -b n 2 -d 0.01 | grep 'Cpu' | tail -n 1 | awk '{print \"cpu=\" 100.0-\ \"%\"}'"
$ alias | grep '^alias cpu='
alias cpu='...'
$ cpu
cpu=nn%
$