Preciso usar set -x no meu script para mostrar os comandos executados no meu log
mas existe uma variável que é uma senha, então essa senha é mostrada no texto do plano
Existe uma maneira de ocultar apenas uma variável?
ou seja:
roteiro:
pas=test123
set -x
mysql -uroot -p$pas
a saída:
[root@server1]# ./teste.sh
++ mysql -uroot -ptest123
Quero remover test123
da saída.
Criar uma
~/.my.cnf
:Agora, você pode fazer logon sem usar os sinalizadores
-u
e-p
no seu script.Observe que não é apenas a
set -x
saída do seu script que é um problema, mas na maioria dos sistemas, os argumentos da linha de comando de todos os processos em execução são visíveis paraps
qualquer usuário, tornando a passagem de senhas neles totalmente insegura. Isso também é mencionado no manual do MySQL na--password
opção: