Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

Linux - script bash - Recup. code erreur sql

B@|-|@N, le jeudi 10 février 2005 à 09:51:21
Bonjour à tous et à toutes.

J'ai un petit problème dans le développement d'un script bash sous Linux (distribution RedHat 9.0).

#=====================

Voilà comment je procède :
req_sql="
        USE maBase;\n
        SELECT monChamp
        FROM maTable
        WHERE monChamp='maValeur'
        INTO OUTFILE 'chemin/monFichier'
        FIELDS TERMINATED BY '\t'
        LINES TERMINATED BY '\n';\n
";
echo -e $req_sql > chemin/requete.sql;
$mysql_dir/mysql -u monLogin --password=monPass < $data_dir/requete.sql;
if [ -e $data_dir/requete.sql ]; then rm -f $data_dir/requete.sql; fi

Pour l'instant la requete me renvoie le message suivant :
ERROR 1 (HY000) at line 2: Can't create/write to file '/home/omclinux/topologie/data1/tmp.txt' (Errcode: 13)


Et je voudrais récupérer le code erreur à la fin afin de faire un perror dessus pour me renvoyer un message explicatif.

Donc comment puis-je récupérer ce code erreur ? Comment puis-je récupérer le message d'erreur tout court, après je peux me débrouiller.

#=====================

Une autre question, pendant que j'y suis.
Avec la commande echo dans un script bash, comment écrire un message en couleur (rouge ou vert par exemple) ?

#=====================

Merci d'avance pour vos réponses.

B@|-|@N

Close the world.||.txen eht nepO
Répondre à B@|-|@N  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le jeudi 10 février 2005 à 11:45:34
Salut,

Le code d'erreur attribué par défaut est "2", donc en général il suffit de rediriger ce code dans un fichier en ajoutant en fin de commande "2>":
[jp@Mandrake tmpfs]$ ls
[jp@Mandrake tmpfs]$ ls moi 2> ficerror.txt
[jp@Mandrake tmpfs]$ ls
ficerror.txt
[jp@Mandrake tmpfs]$ cat ficerror.txt 
ls: moi: No such file or directory
[jp@Mandrake tmpfs]$ 
Utiliser ">>" pour éviter l'écrasement et ajouter à la suite...

Pour la coloration du shell :
http://www.bsdbooks.net/shells/scripting/fr/colorizing.html

Un bon bouquin sur le sujet (shell) :
http://tinyurl.com/5onz7 Z'@+...che.
JP : Zen, my Nuggets ! ;-)
fortune: file not found ! 
Répondre à jipicy

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 toto, le mardi 26 février 2008 à 14:46:20
pour colorer il faut ajouter le parametre "-e" à la commande echo pour qu'elle puisse comprendre ce que vous allez lui sortir...


par exemple, étant donné les variables suivantes dans votre script :

# COULEURS
COLOROFF="\033[1;0m" # standart color
GREENCOLOR="\033[1;32m" # green
WHITECOLOR="\033[1;37m" # white
BLUECOLOR="\033[1;36m" # blue
DARKBLUECOLOR="\033[1;34m" # darkblue
REDCOLOR="\033[1;31m" # red
LILACOLOR="\033[1;35m" # lilac
YELLOWCOLOR="\033[1;33m" # yellow

vous pouvez mettre

echo -e "${DARKBLUECOLOR}texte colore${COLOROFF} et texte non colore"

Si vous mettez pas le "-e" ca marchera pas, ca vous affichera la valeur de la variable comme du texte lambda.

bon script
Répondre à toto
Script bash pour récup nom de fichier (Résolu) Bonjour, je souhaiterai faire un script bash permettant de récupérer les noms de fichiers souhaité d'un fichiers comment faire? Après je voudrais me reservir de ces noms de fichiers pour pouvoir m'en reservir pour les faire tourner et tracer... www.commentcamarche.net/forum/affich-6728009-script-bash-pour-recup-nom-de-fichier
Script bash (Résolu) Bonjour, Apres execution de mon script bash j'ai un message d'erreur message d'erreur tel que: " mon script est le suivant: #!/bin/bash echo "creation de compte... www.commentcamarche.net/forum/affich-4060937-script-bash
Script bash : trop de fichiers (Résolu) Bonjour, J'ai un problème avec mes script bash qui utilisent la commande find pour effacer des fichiers. Si un répertoire contient trop de fichiers la commande ne marche pas (trop de fichiers dans la liste) commande du type : find . -cmin +180 ... www.commentcamarche.net/forum/affich-4103300-script-bash-trop-de-fichiers
Comment lire un fichier ligne par ligneComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier... www.commentcamarche.net/faq/sujet-5027-comment-lire-un-fichier-ligne-par-ligne
Pour tester un script bash unix sous winpro (Résolu)Salut a tous 2 questions : je doit rendre un devoir : un script bash pour unix mais je n'ai chez moi que winpro lsd3 (qui me convient d'ordinaire) ya t'il moyen de tester des scripts unix sous windows? Ya t'il un bon tutorial avec... www.commentcamarche.net/forum/affich-2435751-pour-tester-un-script-bash-unix-sous-winpro
Code erreur 81000306 (Résolu)j'ai le code erreur 81000306 je n'arrive pas à me connecter .comment faire?MERCI DE M'AIDER www.commentcamarche.net/forum/affich-3397797-code-erreur-81000306
[Vista] Windows update : code erreur 8024402C (Résolu)Bonjour, Voici, mon problème : sous Vista Enterprise officiel et activé lorsque je lance Windows update, j'obtiens un code erreur 8024420C. J'ai parcouru sans succès toutes les pistes des forums à ce sujet (config IE, exceptions dans les... www.commentcamarche.net/forum/affich-2877737-vista-windows-update-code-erreur-8024402c