Me estoy conectando a la base de datos Oracle y lanzando una consulta y asignando la salida a la variable Pero cuando hago eco del valor de la variable no se imprime correctamente.
count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END
set pagesize 0 feedback off verify off heading off echo off;
select max(cust_id) from cutomers
exit;
END`
echo $count
La consulta devuelve el resultado correcto cuando se dispara en la base de datos. Pero la variable "cuenta" tiene un valor incorrecto.
Respuestas:
La palabra de terminación here-doc debe ser los únicos caracteres en la línea: no se permite la sangría. Además, use en
$()
lugar de backticks: son anidables.http://www.gnu.org/software/bash/manual/bashref.html#Here-Documents
fuente
<<-END
notación. ¡No espacios, TABS!fuente
Tienes que usar el punto y coma en el lugar correcto.
fuente
END
final debe estar al ras de la izquierda, sin espacios en blanco delante.