Estou conectando-me ao banco de dados oracle, acionando uma consulta e atribuindo a saída à variável. Mas, quando ecoo o valor da variável, ela não é impressa corretamente.
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
A consulta retorna o resultado correto quando acionada no banco de dados. Mas a variável "count" tem valor incorreto.
Respostas:
A palavra final aqui-doc deve ser os únicos caracteres na linha: não é permitido recuar. Além disso, use em
$()
vez de backticks - eles são encaixáveis.http://www.gnu.org/software/bash/manual/bashref.html#Here-Documents
fonte
<<-END
notação. Não espaços, TABS!fonte
Você precisa usar o ponto e vírgula no lugar certo.
fonte
END
final precisa estar nivelado para a esquerda, sem espaço em branco na frente dele.