Puncte:0

Mysql în script-ul bash

drapel in

Bună, rulez următoarea interogare mysql folosind un script bash:

#!/bin/bash

set -f # dezactivează globbing
IFS=$'\n' # setați separatorul de câmpuri la NL (doar)

arr=($(sudo mysql -u root -h localhost -e "USE mydb;SELECT * FROM site" | awk 'NR>1'))

echo $arr

care returnează următoarele:

1 Jhon Richards [email protected]

Apoi încerc să obțin doar prenumele (Jhon) și să stochez într-o variabilă, adaug această linie:

prenume=$arr | awk „{printează $2}”

Totuși, fac ceva greșit pentru că atunci încerc să imprim rezultatul cu următoarea linie:

echo $prenume

Care nu imprimă nimic. Ce gresesc aici?

drapel in
Întrebare prostească, dar de ce să nu scrieți o interogare SQL mai bună? Dacă tot ce aveți nevoie este valea „prenumelui”, atunci „SELECTARE prenumele FROM site-uri” va furniza acest lucru
jpbrain avatar
drapel ca
ce se întâmplă dacă faci doar „echo ${arr[1]}”?
Terrance avatar
drapel id
Comanda dumneavoastră pentru prenume este greșită. Ar trebui să-l aveți ca ecou, ​​la fel cum aveți în comanda dvs. `echo $firstname`. Ar trebui să fie `firstname=$(echo $arr | awk '{print $2}')`
Iosef avatar
drapel in
matigo: Nu pot face asta pentru că am nevoie ca celelalte coloane să fie stocate și în variabile. jpbrain: Nu primesc ceea ce am nevoie. Terrance: Ai dat răspunsul corect
Puncte:0
drapel id
prenume=$arr | awk „{printează $2}”

de fapt încearcă să se stabilească Nume la comanda a ce $arr este setat pentru, așa că ar trebui să scape cu eroare comanda nu a fost găsită.

daca tu ecou $arr ca o comandă completă, atunci puteți prelua parametrul de poziție după cum este necesar.

prenume=$(echo $arr | awk „{printează $2}”)

Există și alte modalități de a obține parametrii de poziție. Simțiți-vă liber să le căutați.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.