Соединение с MYSQL через командную строку с использованием пароля в кавычках

Я даю командную строку как -p $ 3, которая будет принимать пароль, и если пароль не имеет $, он работает, но если у пароля есть $, -p $ 3 не работает , Как мы можем подсказать пароль, в котором есть $.

0
задан 10 June 2020 в 18:46

1 ответ

Вам необходимо добавить двойные кавычки до и после пароля

 my_pass="some_password"

 #or in the case you're getting the password from a command-line argument

 mypass="$1"
 mysql -u user -p"$mypass"

Или, если у вас есть $$ в вашем пароле (bash оценит это по своему PID номер) вы должны добавить \ перед $$ в вашем пароле:

./script.sh some_arg1 some_arg2 some_pass_\$$ 

Но учтите, что передача пароля в качестве параметра в командной строке в командной строке небезопасна в виде простого текста, потому что эта строка может перейти в вашу ~ / .bash_history .

0
ответ дан 19 June 2020 в 21:35

Другие вопросы по тегам:

Похожие вопросы: