2013-07-25 3 views
0

Im пытается сохранить текст в переменной. Но точка будет переведена как реж.bash variable - escape-point

M2_1="GRANT USAGE ON *.* TO '$USER'@'%' IDENTIFIED BY PASSWORD '$MYSQL_PASSWORD';" 

Как я могу избежать *.*?

пример вывода должен быть:

GRANT USAGE ON *.* TO 'web88'@'%' IDENTIFIED BY PASSWORD '123456789';" 
+0

всегда цитирую переменной, так что используйте эхо «$ M2_1» вместо эхо $ M2_1. Последнее может вызвать необычное поведение. – amadain

ответ

3

Это работает для меня. Вы, вероятно, не цитируя переменную при использовании его позже:

M2_1="GRANT USAGE ON *.* TO '$USER'@'%' IDENTIFIED BY PASSWORD '$MYSQL_PASSWORD';" 
echo "$M2_1" 
+0

@ mostworld77 всегда использует '' '' для 'echo'ing строк. – Antarus

+0

@Antarus: переменные, а не строки – choroba

+0

спасибо, это была моя проблема – mostworld77