GNU/Linux >> Linux Esercitazione >  >> Linux

Stampare una stringa con virgolette singole e altri caratteri speciali?

Come posso scriverlo correttamente con uno script AIX? Il mio requisito è scrivere questo comando in test.txt:

clock=$(prtconf -s | awk '{print $4,$5}')

Ho provato questo comando:

print 'clock=$(prtconf -s | awk '{print $4,$5}')' > test.txt

L'output scritto in test.txt mi dà:

clock=$(prtconf -s | awk {print ,})

Se utilizzo " " virgolette:

print "clock=$(prtconf -s | awk '{print $4,$5}')"

Mi dà direttamente a:

clock=3612 MHz

Come posso risolverlo?

Risposta accettata:

Devi continuare a usare le virgolette singole, ma poi stampare quelle che ti servono nell'output "separatamente" oppure usare le virgolette doppie e sfuggire al segno del dollaro.

Per la seconda opzione:

print "clock=$(prtconf -s | awk '{print $4,$5}')" > test.txt

Per il primo:

print 'clock=$(prtconf -s | awk '''{print $4,$5}''')' > test.txt

(Questo è 'text' quindi è sfuggito a virgolette singole ' quindi 'other text' .)

Per completezza, tieni presente che print espande le sequenze di escape del carattere barra rovesciata (questo non ha importanza nel tuo caso perché la stringa che vuoi stampare non contiene alcuna barra rovesciata). Per evitare ciò, usa print -r .


Linux
  1. Stampa linee tra (e inclusi) due motivi?

  2. Usare Sed con personaggi speciali?

  3. Cosa rappresentano i personaggi speciali in Echo {a..z}?

  4. Rimozione di virgolette singole e doppie in una stringa utilizzando solo i comandi bash/standard di Linux

  5. Rimuovi tutti i caratteri speciali e le maiuscole dalla stringa in bash

Comando Linux id - Stampa le informazioni sull'ID utente e sull'ID gruppo

Mostra caratteri speciali nascosti in Vim

Utilizzo di find e tar con file con caratteri speciali nel nome

Come inviare Ctrl+Alt+F1 (e altri tasti speciali) alla finestra X?

Come rinominare tutti i file con caratteri speciali e spazi in una directory?

Coda e caratteri jolly