printf% q dovrebbe citare una stringa. Tuttavia, quando viene eseguito in uno script, cancella gli spazi.
Questo comando:
printf %q "hello world"
uscite:
hello\ world
che è corretto.
Questo script:
#!/bin/bash
str="hello world"
printf %q $str
uscite:
helloworld
che è sbagliato.
Se tale comportamento è effettivamente previsto, quale alternativa esiste in uno script per la citazione di una stringa contenente un carattere in modo che possa essere tradotta nell'originale da un programma chiamato?
Grazie.
Software: GNU bash, la versione 4.1.5 (1) -release (i486-pc-linux-gnu)
Modificato: risolto, grazie.
Rimosso il prefisso 'RISOLTO' nel titolo del tuo inviare. In StackOverflow.com, non contrassegni un problema come risolto anteponendo l'intestazione con "SOLVED". Accetta una risposta o pubblichi la tua risposta e la accetti facendo clic sul segno di spunta sotto i pulsanti di votazione accanto alla risposta che ha funzionato per te. –