
Eu tenho o seguinte em um script bash:
target="-h1.2.3.4 -P3307"
user="-uusername"
pass="-ppassword"
mysql ${target} ${user} ${pass} -se"SHOW DATABSES;"
Isso funciona bem, exceto que se conecta à porta 3306 e não à 3307. Como posso fazer com que seja lido ${target}
corretamente?
Sem dividir target
em duas variáveis separadas.
Se eu executar manualmente
mysql -h1.2.3.4 -P3307 -uusername -ppassword
então funciona bem, então é isso que estou tentando alcançar. É quase como se o MySQL estivesse ignorando -P3307
e usando o padrão 3306
.
Também tentei colocar tudo em uma variável, e também não funcionou (ignora Porta, Nome de usuário e Senha).
Parece que o problema é que o MySQL está interpretando o $target
valor como se fosse uma coisa. Se eu mudar de porta e host, recebo:
target="-P3307 -h1.2.3.4"
mysql ${target} ${user} ${pass} -se"SHOW DATABSES;"
Eu recebo:
Unknown suffix ' ' used for variable 'port' (value '3307 -h1.2.3.4')
mysql: Error while setting value '3307 -h1.2.3.4' to 'port'
Então não sei se isso é um problema do MySQL ou do Linux?