Olá. Estou querendo armazenar a saída do comando groups em um array.
A saída do comando é assim:
![]()
eu queria conseguir armazenar cada grupo desse em um elemento do array. Alguém poderia me ajudar com isso? Não sou muito fluente em bash ainda
Olá. Estou querendo armazenar a saída do comando groups em um array.
A saída do comando é assim:
![]()
eu queria conseguir armazenar cada grupo desse em um elemento do array. Alguém poderia me ajudar com isso? Não sou muito fluente em bash ainda
Como a saída é uma linha única com os itens separados por espaços, o armazenamento pode ser feito assim:
read -ra GRUPOS <<<"$(groups)"
echo "${GRUPOS[0]}"
read lê uma única linha. A opção -r armazena caracteres especiais como eles estão, e a opção -a cria uma array com os conteúdos da linhas separados por espaço.
Para a resposta ficar um pouco mais completa, vou citar aqui alguns exemplos diferentes:
# Usando algum delimitador além de espaço no read -ra - exemplo, a vírgula:
IFS=, read -ra COLUNAS < arquivo.csv
# Transformar um item por linha em array
mapfile -t LINHAS < <(comando)
Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.