J'ai créé une base de données - tasks.db - avec SQLite. Cette base de données a une table - todo - avec les champs suivants: id (Pk), la date (maintenant avec déclencheur), le projet, DueDate, état, descriptionComment automatiser un processus INSERT INTO dans SQLite?
Pour entrer une nouvelle ligne dans SQLite de la ligne de commande, Je dois écrire:
sqlite3 tasks.db "insert into todo (project,duedate,status,description) values (2010-11_18,'Home','Urgent','Call the plumber');"
qui est un processus plutôt long et sujet aux erreurs. Alors j'ai décidé de « automatiser » avec un script shell (BSQ) qui fonctionne comme suit:
#!/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');"
... et rien ne se passe quand je lance: sh bsq. La séquence apparaît puis me ramène à l'invite. Où est-ce que je me suis trompé ou qu'est-ce que j'ai omis (ENTRER? Mais comment est-ce que je fais cela?)?
Merci pour votre aide
thg
Qu'est-ce que vous attendez-vous? Vous appelez 'echo sqlite ...' il n'invoquera pas sqlite. Veuillez formater la source correctement. Utilisez les icônes au-dessus de la zone de texte. – khachik
Le dernier écho est-il correct? Ou exécutez-vous sqlite3 directement? Cela fonctionne bien ici; écho de la commande à la fin. – falstro
Aussi: Dans sh '$ Proj' n'est pas traité comme une variable. Utilisez '" $ Proj "' – khachik