Você não pode usar uma barra invertida para escapar de uma aspa simples dentro de uma string entre aspas simples, porque a barra invertida em si é interpretada literalmente.
Você pode efetivamente escapar de uma aspa simples dentro de uma string entre aspas simples, escrevendo a seqüência de 4 caracteres '\''
. Formalmente, isso encerra o literal entre aspas simples, acrescenta uma aspa simples literal e inicia um novo literal com aspas simples. O resultado final é que você tem um caractere de aspas simples no meio de um literal entre aspas simples.
alias foo='while printf '\''%s '\'' "$(df -P / | awk '\''NR==2 { print $(NF-1) }'\'')"; do sleep 30; done'
Eu não recomendaria um alias tão complexo. Os aliases são principalmente destinados a fornecer um nome abreviado a um comando, possivelmente com switches. Isso vai muito além do seu alcance de conforto. Use uma função em vez disso.
foo () {
while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do sleep 30; done
}