Usando o Solaris awk (que não teria a opção -v ou permitir variáveis de configuração) e usando sua consulta original para começar, você pode fazer:
Porcentagem de memória usada:
a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print (\/$a)*100}"
Porcentagem de memória livre:
a=$(/usr/sbin/prtconf | /usr/bin/awk '/Memory/ {print $3*1024}'); vmstat 1 1 | tail -1 | awk "{print 100-(\/$a)*100}"
Atribua a variável no shell primeiro e, em seguida, execute a consulta vmstat usando a substituição de variável do shell. Isso requer o uso das aspas duplas no awk e a certeza de escapar da variável awk . Você também não precisa usar fgrep e awk juntos, awk pode fazer as duas coisas.
Testei no meu Opensolaris que tenho disponível, então YMMV.