Risultato di una Query DB2 in uno script QSH su AS400

Spero che questo sia solo il primo di un lunghissimo elenco di tips ed articoli tecnici su questo sito.

Se volessimo usare il risultato di una qualsiasi query in una variabile di uno script SH?

Esempio: in una tabella DB2 ho un elenco di parametri definiti per utente:

Tabella SEDECENTRALE.UFFICIO

|Utente |Ufficio | Mailbox
—————————————————
|andrea |01 | andrea@ufficio.com
|marco |02 | marco@ufficio.com

i record nella colonna “Utente” corrispondono agli username della macchina.
L’utente “andrea” se lanciasse da QSH lo script qui sotto riportato, riceverebbe come output la mailbox contenuta nella tabella sopra riportata:

!/usr/bin/qsh
VAR=$(db2 “select Mailbox from SEDECENTRALE.UFFICIO where Utente = $LOGNAME ‘”|sed -e ‘1,3d’|tail -r|tail +4|tail -r| xargs |cut -d ‘;’ -f 1)
echo $VAR

NOTA BENE: QSHELL è Posix Compliant e molti dei comandi e delle variabili d’ambiente sono ereditate da UNIX. $LOGNAME è una variabile d’ambiente che restituisce l’utenza connessa al sistema.