sqlite3 bash grep username

1
#!/bin/bash
username=$(sqlite3 db.sl3 "select user from main";)
yad --list --column="#" "$username" --height 200

Eu quero exibir os nomes de usuários do meu banco de dados em uma lista e, em seguida, selecione um dos temas. O problema com o código acima é que o nome de usuário "a b c" é tratado como um nome de usuário exclusivo.
Como posso dividi-los em mais nome de usuário?

    
por polslinux 18.05.2012 / 12:11

2 respostas

2

Se seus nomes de usuário não contiverem nenhum espaço ou caractere especial ( *?\[ ), basta remover " e ele funcionará corretamente:

yad --list --column="#" $username --height 200
    
por 18.05.2012 / 12:21
4

Em tais casos, é aconselhável armazenar os dados em uma matriz. Com a versão 4.0 ou nunca, o mais simples é usar mapfile para preenchê-lo:

#!/bin/bash
mapfile username < <(sqlite3 db.sl3 "select user from main")
yad --list --column="#" "${username[@]}" --height 200
    
por 18.05.2012 / 12:26

Tags