Você precisa continuar usando aspas simples, mas depois imprimir as que precisa na saída "separadamente" ou usar aspas duplas e escapar dos sinais de dólar.
Para a segunda opção:
print "clock=\$(prtconf -s | awk '{print \,\}')" > test.txt
Para o primeiro:
print 'clock=$(prtconf -s | awk '\''{print $4,$5}'\'')' > test.txt
(Isso é 'text'
, em seguida, escapou da cota única \'
then 'other text'
.)
Para fins de conclusão, observe que print
expande seqüências de escape de caractere de barra invertida (isso não importa no seu caso porque a cadeia que você deseja imprimir não contém nenhuma barra invertida). Para evitar isso, use print -r
.