Hola, Tinc un problema amb BASH. El que intento fer és substituir les cometes ` (accent obert) per cometes ' (cometa simple) en una variable.
[EMAIL PROTECTED]:~$ foo="foo\`bar" [EMAIL PROTECTED]:~$ echo $foo foo`bar [EMAIL PROTECTED]:~$ echo ${foo/\`/\'} foo'bar Fins aquí tot bé. El problema és quan poso l'expressió entre cometes dobles (""), cosa que és necessari per preservar els espais, per exemple: [EMAIL PROTECTED]:~$ foo="foo\`bar bla bla" [EMAIL PROTECTED]:~$ echo "$foo" foo`bar bla bla [EMAIL PROTECTED]:~$ echo ${foo/\`/\'} foo'bar bla bla Com es pot veure, sense cometes dobles es menja els espais. El problema és que quan ho poso entre cometes passa això: [EMAIL PROTECTED]:~$ echo "${foo/\`/\'}" foo\'bar Em surt la maleïda barra i no hi ha manera de fer-la desaparèixer. He provat: 1) Sense barra. No funciona. [EMAIL PROTECTED]:~$ echo "${foo/\`/'}" > 2) Amb doble barra. No funciona. [EMAIL PROTECTED]:~$ echo "${foo/\`/\\'}" > 3) Amb triple barra. Tampoc funciona. [EMAIL PROTECTED]:~$ echo "${foo/\`/\\\'}" foo\\'bar Ja se m'han acabat les idees. Alguna idea de com fer-ho?? Ernest