Modifier: en réalité, cela ne fonctionne pas, désolé. Mais beuglements.
Si le résultat est toujours 4 lignes, et sans invoquer d'autres commandes qui créent un processus:
(read; read; read count; read) < <(psql db -c "SELECT COUNT(test) FROM tbTest;")
echo "$count"
Ce travail aussi:
Fin modifier
psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count; read; echo "$count")
Attention: la variable count
ne sera pas disponible entre parenthèses parce que le tuyau (|
) lance un nouveau processus. Donc, cela ne fonctionne pas:
psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count; read)
echo "$count"
Edit:
Si vous voulez compter dans une variable, vous pouvez:
count=$(psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count_tmp; read; echo "$count_tmp"))
excelent Réponse: D – Killercode
AH fournit beaucoup plus solution élégante. –