Substituição variável aninhada e variáveis ​​de bash predefinidas no Linux - Parte 11

Substituição variável aninhada e variáveis ​​de bash predefinidas no Linux - Parte 11

Os dois últimos artigo sobre Bash Shell, onde discutimos variáveis ​​em detalhes foram muito apreciados entre nossos leitores. Nós como Tecmint-Team estão muito interessados ​​em fornecer a você tópicos mais recentes, atualizados e relevantes cobertos em detalhes. Além disso, sempre tentamos tocar grandes perspectivas dos tópicos correspondentes.

Variáveis ​​aninhadas no script de concha

Aqui está o último artigo sobre variáveis ​​Linux, onde veremos substituição de variáveis ​​e variáveis ​​definidas no shell antes de fechar este tópico.

Bash realiza substituição variável antes que o comando seja realmente executado. O Linux Bash Shell pesquisa todo o sinal '$' antes de executar o comando e substituí -lo pelo valor da variável. O processo de substituição variável de bash é realizado apenas uma vez. E se tivéssemos aninhados variáveis?

Observação: Por variável aninhada, queremos dizer, variável declarada dentro da variável. Vamos ver o cenário acima no exemplo abaixo.

Declare uma variável que é somente leitura e executável como abaixo.

[Email protegido]: ~ $ declarar -rx linux_best_website = "www.Tecmint.com "

Verifique o valor da variável armazenada.

[Email protegido]: ~ $ printf "%s" "$ linux_best_website" www.Tecmint.com

Agora declare outra variável que novamente é somente leitura e executável.

[Email Protected]: ~ $ declarar -rx linux_website = "linux_best_website"

Agora a situação é que definimos duas variáveis.

'Linux_best_website', cujo valor é "www.Tecmint.com ”
e 'linux_website', cujo valor é "linux_best_website"

Qual seria o resultado, se executamos o comando abaixo de uma linha?

[Email protegido]: ~ $ printf "%s" "$ linux_website"

Deve primeiro substituir a variável '$ Linux_website', com valor “Linux_best_website" e então "$ Linux_best_website”É novamente uma variável cujo valor é“www.Tecmint.com”. Portanto, a saída final da execução do comando abaixo deve ser.

[Email protegido]: ~ $ printf "%s" "$ linux_website" www.Tecmint.com

Mas, infelizmente, essa não é a situação, a saída que estamos obtendo é Linux_best_website.

Razão? Sim! Bash substitua o valor da variável apenas uma vez. E quanto aos scripts e programas complexos em que precisamos substituir variáveis ​​com frequência, bem como precisa substituir a variável mais de uma vez?

Aqui vem o comando 'aval'que executa um trabalho adicional de substituição variável mais de uma vez em um script. Aqui está um exemplo para tornar o todo funcionando tão claro quanto o vidro.

Declarar uma variável x, cujo valor é 10.

[Email Protected]: ~/Desktop $ declarar x = 10

Verifique o valor da variável x, Acabamos de definir.

[Email Protected]: ~/Desktop $ echo $ yx x10

Declarar uma variável y, cujo valor é x.

[Email Protected]: ~/Desktop $ declarar y = x

Verifique o valor da variável y, Acabamos de definir.

[Email Protected]: ~/Desktop $ echo $ y x

Aqui está o problema de Bash Substituição variável única, que não realiza uma rodada extra de substituição variável. Nós estamos usando 'aval'Comando para consertar isso.

[Email Protected]: ~/Desktop $ aval. y = $ x

Agora verifique o valor da variável 'y'.

[Email Protected]: ~/Desktop $ echo $ y 10

Hurra! O problema foi corrigido e 'aval'Comando venceu a corrida :)

Para não mencionar, 'aval'O comando é muito útil em grandes programas de script e é uma ferramenta muito útil.

O último, mas não a menor, parte deste post são variáveis ​​predefinidas bash. Não! Não entre em pânico vendo esta lista. Você nunca precisa se lembrar de toda a lista antes de começar a escrever scripts, exceto alguns. Como parte do processo de aprendizagem, estamos apresentando a lista de variáveis ​​predefinidas da Bash.

Não. Variável de bash RESULTADO
1 auto_resume Conclusão do comando de processo para os empregos parados.
2 Bash Caminho da concha.
3 Bash_env Mostra o nome do arquivo de perfil
4 Bash_version Mostra a versão do Bash
5 Bash_versinfo Mostra informações detalhadas da versão.
6 Bash_versinfo [0] O número principal da versão (o lançamento).
7 Bash_versinfo [1] O número da versão menor (a versão).
8 Bash_versinfo [2] O nível do patch.
9 Bash_versinfo [3] A versão de construção.
10 Bash_versinfo [4] O status de liberação (por exemplo, beta1).
11 Bash_versinfo [5] O valor do machtype .
12 CDPath Lista de diretórios separados por cólon.
13 Colunas Número de caracteres por linha na saída padrão.
14 Euid ID do usuário do usuário atual.
15 Fcedit O editor de texto padrão para o comando fc.
16 Funcname O nome da diversão
17 Grupos Grupos dos quais o usuário é um membro.
18 Histfile O arquivo que contém o histórico de comando.
19 LAR O nome do seu diretório doméstico.
20 Linhas Número de linhas horizontais na saída padrão.
21 CORRESPONDÊNCIA Nome de um arquivo para verificar se há correio recebido
22 Ostype Nome do sistema operacional.
23 Oldpwd O diretório de trabalho anterior
24 PWD O diretório de trabalho atual
25 ALEATÓRIO Imprime um número aleatório
26 CONCHA A concha preferida de usar
27 TimeFormat O formato para o comando do tempo.
28 Uid O ID do usuário atual

Há uma enorme lista de variáveis ​​de bash predefinidas. Tentamos produzir uma lista dos mais frequentemente usados.

É tudo por agora. Estarei aqui novamente com outro artigo interessante. Até então fique atento e conectado a Tecmint. Não se esqueça de nos fornecer seu valioso feedback na seção de comentários abaixo.