Problema con sostituzione stringhe

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Astu
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 515
Iscrizione: sabato 18 novembre 2006, 13:12

Problema con sostituzione stringhe

Messaggio da Astu »

Ho provato a generalizzare la sintassi della sostituzione. Di norma sarebbe tipo:

Codice: Seleziona tutto

 
$variabile=abc123
echo ${variabile//abc/sostituita}
che darebbe "sostituita123"

e io ho provato a rendere variabili la stringa da sostituire e quella da inserire, chiamandole $da e $a:

Codice: Seleziona tutto

 
variabile=abc123
da=abc
a=sostituita
echo ${variabile//${da}/${a}}
Solamente che funziona solo se fatto da terminale e non da script!
Mi dice infatti:
./mioscript: line 43: syntax error near unexpected token `echo'
./mioscript: line 43: `      echo "${f//${da}/${a}}"
Ultima modifica di Astu il domenica 3 giugno 2007, 21:41, modificato 1 volta in totale.
Avatar utente
twilight
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3849
Iscrizione: giovedì 17 febbraio 2005, 16:29
Località: L'Aquila
Contatti:

Re: Problema con sostituzione stringhe

Messaggio da twilight »

lo lanci con "sh" o comunque utilizzi #!/bin/sh nello script, giusto?

prova a lanciarlo con "bash" o utilizzare la linea #!/bin/bash, sh punta a dash.

ciao
Astu
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 515
Iscrizione: sabato 18 novembre 2006, 13:12

Re: Problema con sostituzione stringhe

Messaggio da Astu »

Veramente prima non avevo specificato nessuna di quelle due righe che mi hai proposto, purtroppo anche aggiungendo #!/bin/bash non va...
Astu
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 515
Iscrizione: sabato 18 novembre 2006, 13:12

Re: Problema con sostituzione stringhe

Messaggio da Astu »

Aiuto! ???
max.achille
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 349
Iscrizione: venerdì 11 maggio 2007, 0:01

Re: Problema con sostituzione stringhe

Messaggio da max.achille »

Se l'errore è unexpected token ecc possibile anche che l'errore sia sulla riga precedente.. posta l'intero codice..
Astu
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 515
Iscrizione: sabato 18 novembre 2006, 13:12

Re: Problema con sostituzione stringhe

Messaggio da Astu »

Cavoli è vero!
Avevo sbagliato il ciclo for, mancava il punto e virgola prima del do:

Codice: Seleziona tutto

for f in `cat $file`; do 
	echo ${f//${da}/${a}}
done
Mi sono confuso perché nel wiki http://wiki.ubuntu-it.org/Programmazione/LinguaggioBash il punto e virgola non appare quando parla del ciclo for alla fine della pagina, mentre appare più sopra quando lo usa per fare un esempio...

Grazie mille!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti