variável não está sendo lida corretamente

0

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 ele se conecta à porta 3306 e não à 3307. Como posso fazer com que ela leia ${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 o -P3307 e usando o padrão 3306 .

Eu também tentei colocar tudo em uma variável, e isso não funciona (ignora a porta, nome de usuário e senha).

Parece que o problema é que o MySQL está interpretando o valor $target como se fosse uma coisa. Se eu mudar de porta e host eu 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 eu não sei se isso é um problema do MySQL ou um problema do Linux?

    
por IGGt 01.11.2016 / 17:48

0 respostas