-v
para o modo detalhado deve fornecer mais resultados. Eu não posso tentar isso agora, já que eu não tenho um servidor SQL em execução.
Isso pode não ter nada a ver com o SQL em particular, porque tenho certeza de que outros comandos farão isso também.
Neste caso, envio uma consulta através do shell, e se a consulta não corresponder a nenhuma tabela, literalmente nada será retornado, nem mesmo um retorno de carro.
Como posso fazer o script do meu shell que, nesse caso, um 0
ou false
é retornado?
Aqui está o meu comando de amostra que está produzindo o meu problema:
mysql -u Popey --password='Misses Jono' -s -N --disable-column-names -e
"select term_id from shuttleworth.wp_terms where name = 'nonExistentName' LIMIT 1;"
-v
para o modo detalhado deve fornecer mais resultados. Eu não posso tentar isso agora, já que eu não tenho um servidor SQL em execução.
Meu primo me ofereceu essa solução. Testado e funciona.
Linha única:
response=$(mysql -u popey --password='Misses Jono' -s -N --disable-column-names -e "select term_id from shuttleworth.wp_terms where name = 'non-existent-name' LIMIT 1;") && if [ -z "$response" ]; then echo false; else echo $response; fi'
quebrado:
response=
$(mysql
-u popey
--password='Misses Jono'
-s -N --disable-column-names
-e
"SELECT term_id
FROM shuttleworth.wp_terms
WHERE name = 'non-existent-name'
LIMIT 1;"
)
&& if [ -z "$response" ];
then echo false;
else echo $response;
fi