Pagina 1 di 1

[RISOLTO] errore script

Inviato: giovedì 3 maggio 2007, 21:24
da cd.rw
Buona sera a tutti.
mi succede questo, che se lancio le due righe da consolle funziona correttamente
comandi da consolle il comando funziona perfettamente
a=asdfghjkio
echo ${a:3}

mentre se creo un file con i seguenti comandi e lo lancio da consolle con il comando sh test, oppure ./test mi da l'errore seguente:
test: 3: Syntax error: Bad substitution
file test
#!/bin/sh
a=asdfrtyui
echo ${a:3}

qualcuno mi sa dire dove sta l'errore? ho provato a copiare e incollare da manuali che danno questa sintassi ma l'errore si ripete.
grazie anticipatamente
ciao a tutti

uso ubuntu

Re: errore script

Inviato: giovedì 3 maggio 2007, 23:26
da Mr. Dreadsoft
usa una variabile diversa da quella che hai usato nella modalità a riga di comando, che so, B... non sono esperto di script di shell, ma credo che quando la scrivi da riga di comando, a rimane registrata.

Quando la chiami dallo script nella stessa versione di shell, forse ti impedisce la sovrascrittura... ma è tutta una supposizione.

Se ti può tornare utile, ti propongo anche questa soluzione alternativa

Codice: Seleziona tutto

echo $a | cut -c3-
per maggiori informazioni man cut.

Re: errore script

Inviato: venerdì 4 maggio 2007, 16:07
da difesaparcosempione
stranissimo,
da me funziona da linea di comando che interno ad uno script.
ottengo sempre frtyui

ciao
:)

Re: errore script

Inviato: sabato 5 maggio 2007, 10:21
da twilight
invece di #!/bin/sh all'inizio del file metti #!/bin/bash. sh punta a dash.
ciao

Re: errore script

Inviato: sabato 5 maggio 2007, 21:09
da cd.rw
...esatto .
inserendo #!/bin/bash invece di #!/bin/sh funziona.
...grazie dell'aiuto.
Ciao

Re: errore script

Inviato: domenica 6 maggio 2007, 11:43
da twilight
bene, per le prossime volte quando risolvi, ricorda di modificare il primo post del topic e aggiungere al titolo "[RISOLTO]", ora lo faccio io :)
ciao