PDA

Visualizza la versione completa : Problema davvero stupido con bash scripting


Sifr
31-08-2007, 21:02
So che quando sto per fare una bella figurina che solo io so fare, per proprio non riesco a capire come diavolo togliere questo stupidissimo errore :dh: :dh: Non riesco neanche a creare un array :dh:

Direttamente dalla guida Adavanced bash scripting:
http://tldp.org/LDP/abs/html/arrays.html


Questa invece la mia versione... praticamente identica:

#!/bin/bash

tabelle[1]=ciao

for t in ${tabelle[@]:0}
do
echo "CREATE TABLE \`t\` ( \
\`id\` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , \n \
\`nome\` VARCHAR( 50 ) NOT NULL , \n \
\`sito\` VARCHAR( 50 ) NOT NULL , \n \
\`voto\` TINYINT NULL , \n \
\`testo\` LONGTEXT NOT NULL \n \
) ENGINE = MYISAM ; \n" >> listabs
done


simone@dualcore:~/script$ sh script_mysql
script_mysql: 4: tabelle[1]=ciao: not found
script_mysql: 6: Syntax error: Bad substitution
simone@dualcore:~/script$

Che diavolo che non va? ho provato anche con tabelle[1]="ciao" ma niente da fare...

Sifr
04-09-2007, 11:29
lo stesso identico script, provato su debian, funziona (prima ero su ubuntu).. bah, misteri dell'informatica

vortex87
04-09-2007, 11:36
Probabilmente su debian /bin/bash e /bin/sh sono la stessa cosa, mentre su ubuntu /bin/sh punta a /bin/dash

Sifr
04-09-2007, 11:44
ma io utilizzavo #!/bin/bash :confused:

vortex87
04-09-2007, 12:04
simone@dualcore:~/script$ sh script_mysql

Per eseguivi "sh" dalla shell

Sifr
04-09-2007, 12:16
azz hai ragione... "sh" ormai lo utilizzo per una questione di abitudine, ho sempre fatto cos e non sono stato troppo a pensare se cambiando distro ci sarebbero potuti essere problmi. Dunque era sicuramente quello che dici tu, mistero risolto.

Loading