Problem z bash + MySQL -d
Pomagam stworzyć rozwiązanie dla projektu społecznościowego, aby monitorować poziomy rzeki za darmo, w duchu społeczności. Ostatecznym produktem tego wysiłku będzie system, który pobiera dane z sondy poziomu rzeki i generuje wykres dla społeczności online.
Jestem na początku projektu, a ponieważ jestem zaznajomiony z Bash, używam tego do pobrania pliku tekstowego z sondy zawierającej dane i przeniesienia go do bazy danych MySQL. Wszystko szło naprawdę dobrze, dopóki nie trafiłem na blokadę. Szereg moich kolumn tabeli baz danych to liczby, więc aby móc z nimi współdziałać za pomocą narzędzia wiersza poleceń MySQL, należy użyć backticks. Niestety chcę pobrać dane wyjściowe z instrukcji MySQL i umieścić je w zmiennej, ale myślę, że z powodu dwóch zestawów zwrotnych MySQL nie uzyskuje właściwego polecenia.
Zrobiłem to z paskudną pracą, tak więc wszystko działa nieefektywnie:
mysql -N -D $targetDatabase -e "select \`"$timeSample"\` from RiverDataDays where date="$dateOfFile";" >tmpValue
dbEntry=`cat tmpValue`
echo $dbEntry
Ale tak naprawdę to, co chcę zrobić, to skierować je prosto do zmiennej takiej jak ta:
dbEntry=`mysql -N -D $targetDatabase -e "select \`"$timeSample"\` from RiverDataDays where date="$dateOfFile";"`
echo $dbEntry