Erro de login do sqlplus ao usar variáveis bash: SP2-0306: opção inválida

Tenho um script bash que se conecta a um banco de dados oracle 10

Em uma primeira etapa, são necessárias algumas variáveis de um arquivo "config" com o seguinte comando

. /path/to/my/configfile.ini

No arquivo de configuração, existem algumas variáveis:

export USRID=myUser
export USRID_PASS=myPassword
export USR_PASS="$USRID/$USRID_PASS@myDatabase"

Então ele realmente se conecta através do sqlplus usando o comando:

sqlplus -s $usr_pass

roblemas de segurança e design @Terrible de lado (esse script existe há 5 anos). Na verdade, ele está fazendo seu trabalho em um de nossos servidores UNIX, mas não em outr

Quando executo o script combash -x, Vejo que o comando foi expandido para:

sqlplus -s myUser/myPassword@myDatabase

... que deve funcionar bem (e está realmente funcionando em um servidor), mas a resposta no servidor com falha é:

ERROR: ORA-01017: nome de usuário / senha inválidos; logon negad

SP2-0306: Opção inválida. Uso: CONN [ECT] [logon] [AS {SYSDBA | SYSOPER}] em que :: = [/] [@] | SP2-0306: opção inválida.

Acho que tem mais a ver com o bash do que com o oracle, mas não sou especialista em bash. Faltam algumas configurações ou detalhes?

EDITAR

Tentando resolver um pouco mais o problema, agora estou executando duas versões do script em um terceiro servidor de desenvolvimento e, em testes diferentes, o login funciona se eu fizer isso com:

sqlplus -s $usrid/$usrid_pass@myDatabase

mas não quando eu tento:

sqlplus -s $usr_pass

Então é um pouco chato.

Além do mais, terei que verificar o processo de sincronização do arquivo de configuração ... Avisarei quando chegar a algo novo. Obrigado a todos.

questionAnswers(3)

yourAnswerToTheQuestion