Mysql
 sql >> Database >  >> RDS >> Mysql

Bash + MySQL -d problema di backtick

Prova a farlo :

dbEntry="$(printf "SELECT \140%s\140 FROM 'RiverDataDays' WHERE date = '%s';\n" "$timeSample" "$(<tmpValue )" | mysql -N -D "$targetDatabase")"
echo "$dbEntry"

o

dbEntry="$(printf "SELECT \`%s\` FROM 'RiverDataDays' WHERE date = '%s';\n" "$timeSample" "$(<tmpValue )" | mysql -N -D "$targetDatabase")"
echo "$dbEntry"

Il backquote (`) è usato nella sostituzione del comando vecchio stile, ad es.

foo=`command`

Il

foo=$(command)

si consiglia invece la sintassi. La gestione della barra rovesciata all'interno di $() è meno sorprendente e $() è più facile da annidare . Vedi http://mywiki.wooledge.org/BashFAQ/082

\140

è la rappresentazione ottale di un backtick, vedi

man ascii