Я запускаю скрипт bash, который вызывает mysql.Пароль передан не правильно, я думаю, мне нужно экранировать некоторые специальные символы, такие как хэш или знак доллара?
#!/bin/bash USER=myuser PASS="#mypass$" # ... call mysql
Попробуйте использовать «\» перед персонажем, которого пытаетесь убежать.
#!/bin/bash USER=myuser PASS="#mypass\$" # ... call mysql
Использование "..." уже является правильным решением, но $ необходимо экранировать (\$), если за ним не стоит "недопустимый" символ.Однако вам также необходимо убедиться, что переменная всегда указана в кавычках, например:
"..."
$
\$
somecommand -p "$PASS"