sql >> データベース >  >> RDS >> Mysql

Bash +MySQL-dバッククォートの問題

    これを試してみてください:

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

    または

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

    バッククォート( `)は、古いスタイルのコマンド置換で使用されます。例:

    foo=`command`
    

    foo=$(command)
    

    代わりに構文をお勧めします。 $()内でのバックスラッシュの処理はそれほど驚くべきことではなく、$()はネストが簡単ですhttp://mywiki.wooledge.org/BashFAQ/082 を参照してください。

    \140
    

    バッククォートの8進表現です。

    を参照してください。
    man ascii
    


    1. MariaDBのすべての関数を一覧表示する2つの方法

    2. OracleのROUND(number)関数

    3. mysqld_safe is runningシナリオでmysqlのパスワードを設定するにはどうすればよいですか?

    4. var_dumpをテキストファイルに保存します