Bash declare uma matriz vazia?

Bash declare uma matriz vazia?

Matrizes são a coleta do mesmo tipo de elementos de dados que são armazenados em locais de memória contíguo. Ou podemos dizer que é a forma mais simples de uma estrutura de dados cujos elementos podem ser acessados ​​diretamente usando o número do índice onde estes são armazenados. Na maioria das vezes, torna -se necessário armazenar o mesmo tipo de dados na memória, em vez de criar várias variáveis ​​para cada dados. Podemos simplesmente usar uma matriz para armazenar dados de tipo semelhante em uma única matriz. Acima de tudo, toda linguagem de programação suporta matrizes da mesma forma que o Linux. Também podemos criar uma matriz usando vários comandos e métodos no Linux.

Usando a matriz Bash, podemos armazenar os dados em memória contígua. Bash Array armazena dados na forma de indexação ou também pode ser dito que é uma coleção de variáveis. Mas na matriz típica, só podemos armazenar o mesmo tipo de elementos, mas a matriz Bash nos permite armazenar todos os tipos de dados em matrizes únicas, como armazenar as cordas e números.

Declarando a matriz em Bash

Existem dois tipos de matrizes de bash: uma matriz indexada e a matriz associativa. Matrizes indexadas são aquelas matrizes nas quais os elementos são armazenados e são atribuídos com valores numéricos, começando de "0" a "n" inteiros. O segundo é uma matriz associativa baseada em pares de valor-chave. Ou podemos dizer que ele usa uma chave para mapear os valores na memória.

Exemplo não. 1:

Antes de declarar uma matriz, primeiro precisamos instalar a festa em nosso sistema operacional. No nosso caso, ele já está instalado para que não precisemos instalá -lo novamente. Agora, apenas verificando sua versão, avançaremos em direção à nossa tarefa principal, que é criar uma matriz em Bash. Ao executar o comando abaixo, podemos verificar a versão do Bash atualmente instalada em nosso sistema.

Linux@linux -virtualbox: ~ $ Bash - - versão

Quando executarmos o comando acima, ele exibirá os detalhes da versão Bash. Se sua festa não estiver instalada, ele solicitará uma mensagem de erro no terminal. Como temos a versão atualizada da festa, ela não vai atualizar. A saída do comando será exibida no terminal, como mostrado abaixo.

GNU Bash, versão 5.0.17 (1) -Elease (x86_64-pc-linux-gnu)
Copyright (C) 2019 Free Software Foundation, Inc.
Licença GPLV3+: GNU GPL Versão 3 ou mais tarde
Este é um software livre; Você é livre para mudar e redistribuí -lo.
Não há garantia, na medida permitida por lei.

Agora, vamos criar uma matriz para isso executaremos o comando que está alistado abaixo:

Linux@linux-virtualbox: ~ $ my_array = ()

Neste comando, simplesmente usamos o nome da matriz atribuindo -lhe um parêntese vazio, o que significa que estamos declarando uma matriz vazia. Depois de executar o comando acima, ele entregará o terminal para nós sem exibir nenhuma saída. Na memória, o índice para o "my_array" será atribuído, que pode ser usado em seguida para armazenar o valor. Agora, verificaremos se nossa matriz vazia é criada ou não. Para verificar a matriz é criada, executaremos o comando mencionado abaixo.

Linux@linux-virtualbox: ~ $ printf $ #my_array [*]

No comando acima, usamos uma instrução printf para exibir o conteúdo armazenado em nossa matriz criada. Como queremos exibir todos os valores que são armazenados em uma matriz "my_array", passamos o valor do asterisco "*" nos colchetes, que é usado para imprimir todos os valores da matriz.

0
Linux@linux-virtualbox: ~ $

Exemplo não. 2:

Neste exemplo, tentaremos outro método para declarar uma matriz. Neste método, usaremos a palavra -chave "declarar" junto com a bandeira para reservar espaço de memória. Para criar uma matriz, simplesmente executaremos o comando abaixo do display:

Linux@linux -virtualbox: ~ $ declarar -a array_a = ()

No comando acima, a palavra-chave declarada é usada para a declaração de uma variável quando passamos uma variável "-a" junto com a declaração que tende a criar e inicializar uma matriz. Nisso, criamos uma matriz chamada "Array_a" para a qual ainda não passamos nenhum valor. Apenas atribuindo um parêntese vazio a ele, apenas executamos o comando, ele não exibirá nenhuma saída no terminal. Simplesmente executando este comando, podemos declarar uma matriz. Ele se reserva um local de memória para uso futuro.

Agora, verificaremos se a matriz é criada ou não. Para isso, executaremos o seguinte comando no terminal para obter a saída.

Linux@linux-virtualBox: ~ Printf $ #Array_a [@]

Ao usar uma instrução PRIMF para imprimir a matriz, pois simplesmente passamos o nome da matriz junto com o sinal # que implica o número de valores a serem impressos de uma matriz especificada: onde "@" indica que todos os valores que são armazenados na matriz deve ser exibida. Depois de executar o comando acima, obteremos a saída como o exemplo abaixo. Como em nossa matriz, não armazenamos nenhum valor, por isso exibiu o valor nulo "0".

0
Linux@linux-virtualbox: ~ $

Exemplo não. 3:

Nesta ilustração, tentaremos outro método para declarar uma matriz vazia na qual simplesmente criaremos uma matriz sem atribuir qualquer valor. Simplesmente executando o comando abaixo, garantiremos um índice na memória.

Linux@linux -virtualbox: ~ $ declarar -uma matriz

Declaramos uma matriz chamada "Array". Desta vez, não atribuímos nada à matriz. Depois de executar o comando, ele não exibirá nenhuma saída. Apenas nos permita executar comandos adicionais, conforme exibido abaixo.

Linux@Linux-virtualBox: ~ $ echo $ #Array [*]

Neste comando, simplesmente passamos a matriz como um argumento. Depois de executar este comando, obteremos a saída como mostrado abaixo.

0
Linux@linux-virtualbox: ~ $

Exemplo não. 3:

Nesta ilustração, tentaremos declarar uma matriz e depois imprimir a mensagem para se a matriz está vazia ou não. Para isso, escreveremos a execução do comando no terminal que é alistado abaixo:

Linux@linux -virtualbox: ~ $ declarar -a arrum

Usando o comando acima, declaramos uma matriz chamada "arr". Agora, o local da memória para "arr" é reservado. Vamos criar uma condição que execute a saída se o arquivo está vazio ou não.

Linux@linux-virtualbox: ~ $ se ! (($ #arr [*] -eq 0)); então ecoar "você criou uma matriz vazia"; fi

Nisso, usamos a declaração IF na qual passamos a condição de que, se a matriz "arr" for igual a 0. Em seguida, ele simplesmente exibirá a mensagem "Você criou uma matriz vazia".

Você criou uma matriz vazia

Conclusão

Estudamos criando uma matriz em Bash. Discutimos os dois tipos de matrizes que podem ser criados na festa e como podemos reservar o local da memória para uma matriz. Então, ao implementar os vários métodos, criamos matrizes vazias. Você pode tentar mais exemplos para um melhor entendimento.