Bonjour,
je souhaiterais faire un script bash qui exécute une requête sql et qui ramène dans un fichier texte le résultat d'un select.
Comment dois-je m'y prendre.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
 
read_sql_stmt() {
  typeset stmt=$1
  typeset login=$2
 
  echo "
    set feedback off verify off heading off pagesize 0 message off wrap off echo off pages 0 feed off serveroutput off termout off
    $stmt;
    exit 
  " |  sqlplus -S  $login
}
 
 
 
read_sql_stmt "select username, user_id from dba_users" "system/pwd" | while read u i 
do
  echo "user $u has userid $i"
done
Le problème avec ce code, c'est qu'il renvoit des trucs inutiles :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
test5.sh 
user  has userid 
user set has userid head off
user  has userid 
user  has userid 
user Editor: has userid vi
user  has userid 
user  has userid 
user Session has userid altered.
user  has userid 
user  has userid 
user Date has userid format:  20050817 1026
user  has userid 
user SYS has userid 0
user SYSTEM has userid 5
 
...