Ho creato un database - tasks.db - con SQLite. Questo database ha una tabella - todo - con i seguenti campi: id (PK), la data (ora con trigger), il progetto, dueDate, stato, descrizioneCome automatizzare un processo INSERT INTO in SQLite?
Per inserire una nuova riga nel SQLite dalla riga di comando, Devo scrivere:
sqlite3 tasks.db "insert into todo (project,duedate,status,description) values (2010-11_18,'Home','Urgent','Call the plumber');"
che è un processo piuttosto lungo e soggetto a errori. Così ho deciso di "automatizzare" con uno script di shell (BSQ), che viene eseguito come segue:
#!/bin/sh
echo "What project ?"
read Proj
echo "For when ?"
read Due
echo "What status ?"
read Stat
echo "What to do ?"
read Descr
echo sqlite3 tasks.db "insert into todo (project,duedate,status,description) values ('$Proj',$Due,'$Stat','$Descr');"
... e non succede nulla quando corro: sh BSQ. La sequenza appare quindi mi riporta al prompt. Dove ho sbagliato o cosa ho omesso (ENTER? Ma come faccio?)?
Grazie per il vostro aiuto
THG
Che cosa si aspetta? Chiami "echo sqlite ..." non invoca sqlite. Si prega di formattare correttamente la sorgente. Usa le icone sopra la textarea. – khachik
L'ultimo eco è corretto? O stai eseguendo sqlite3 direttamente? Funziona bene qui; riecheggiando il comando alla fine. – falstro
Inoltre: In sh '$ Proj' non viene considerato come una variabile. Usa '" $ Proj "' – khachik