Aprendizado Linux [15] aprendizado aprofundado do bash 1 --- funções bash --- explicação detalhada das variáveis

Prefácio:

Quando eu estava aprendendo sobre Raspberry Pi, fiz um resumo de como começar a usar scripts bash e os resumi nos três blogs a seguir.
O livro ao qual eu me referia naquela época era "Brincando com Linux do Raspberry Pi", e a seguinte série de aprendizado sobre Linux foi baseada no "Capítulo de aprendizagem básica de cozinha privada Linux do irmão Niao". 3,4,5Este último é mais detalhado que o primeiro, então os próximos blogs são suplementos aos três anteriores .


Aprendizagem Linux [3] - shell script bash script - referência de atribuição de variáveis ​​e operações matemáticas e escrita de script simples
Aprendizagem Linux [4] - shell script bash script - funções e chamadas simples
Aprendizagem Linux [5] - shell script bash script - Julgamento e escolha & Laço


1. função bash

No console do Linux, ↑ ↓ ao pressionar, podemos alternar entre os comandos inseridos anteriormente, isso porque o bash possui a capacidade de edição de comandos, ou seja, a função de histórico.

Se quisermos entrar /home/abcdefghijklmn/neste diretório, na verdade só precisamos inseri-lo /home/abcd+[tab]e os nomes dos diretórios subsequentes serão preenchidos automaticamente. Se houver vários diretórios começando com abcd, pode ser necessário pressionar a tecla tab várias vezes para listar todas as opções que podem ser preenchidas e, em seguida, inserir alguns caracteres e pressionar tab para concluir.
Esta função de conclusão é na verdade uma das funções poderosas do bash.

Incluímos ls -alarquivos ocultos listando detalhes de todos os arquivos no diretório atual. O corpo deste comando é ls, seguido por duas opções -a,-l. Podemos nomear tudo isso completamente como lm, por exemplo: alias lm='ls -al'. Após esta configuração, a entrada subsequente de lm é equivalente à inserção de ls -al. Este comando é relativamente curto e você pode não ver nenhum benefício, mas se envolver alguns comandos longos e precisar ser usado com frequência posteriormente, o efeito do uso de um alias ainda será muito significativo.

Quando executamos um determinado programa, se quisermos interrompê-lo no meio, podemos usar ctrl+c para interrompê-lo. Esta é a personificação da função de controle do bash.

O script bash simples que escrevi antes é na verdade um tipo de script shell e também é a função de script programático do bash.

Posteriormente, o bash envolve alguns comandos de pipeline, portanto, os curingas podem desempenhar um papel muito importante. Na verdade, muitos dos códigos com os quais normalmente entramos em contato possuem caracteres universais, como *representar qualquer caractere de 0 a infinito.

Algumas dicas para bash:

1. Por exemplo, quando usamos cdcomandos para entrar em um diretório com muitas camadas, uma linha geralmente é escrita de forma densa e o todo fica confuso. Então podemos usar \+[enter]o método para inserir novas linhas.
O efeito a seguir é equivalente a cd xxxxxxxxxx/yyyy-xilinx-5.24/gcc-linux-ar, é claro, pode ser dividido em mais algumas linhas para parecer mais organizado.
Insira a descrição da imagem aqui2. Além disso, quando o comando que você precisa emitir é particularmente longo ou você insere uma série de comandos errados, deseja excluir rapidamente toda a série de comandos. De modo geral, pressionamos a tecla delete.

Combinação de teclas Função
[ctrl]+u/[ctrl]+k Eles devem excluir a sequência de comandos para frente a partir do cursor ([ctrl]+u) e excluir a sequência de comandos para trás ([ctrl]+k).
[ctrl]+a/[ctrl]+e Mova o cursor para a frente ([ctrl]+a) ou para o final ([ctrl]+e) de toda a string de comando, respectivamente.

2. Variáveis

2.1 Atribuição de variáveis

Use echo para gerar variáveis ​​e adicione um na frente da variável $para obter o valor da variável.
Por exemplo, nossas instruções comumente usadas:echo $PATH
Insira a descrição da imagem aqui

No entanto, o símbolo $ desta instrução é seguido por um nome de variável. Os caracteres não podem ser seguidos diretamente pelo nome da variável. Se o valor da variável PATH for gerado e IS for usado, ele estará incorreto, o que significa que
o echo $PATHISvalor PATHISdo variável é saída.
Portanto, para esta situação geralmente precisamos adicionar variáveis ​​de saída {}.
Por exemplo, o seguinteecho ${PATH}IS
Insira a descrição da imagem aqui


As variáveis ​​geralmente são atribuídas usando o sinal de igual. Existem muitos cenários de aplicação ao atribuir valores. Aqui está uma tabela para facilitar a visualização.

Exemplo manual de instruções
meunome=edwinwzy mynameAtribuir um valor a uma variáveledwinwzy
错误示例:meunome = edwinwzy Nenhum caractere de espaço em branco pode ser colocado diretamente em ambos os lados do sinal de igual.
错误示例:1meunome=edwinwzy Os nomes das variáveis ​​só podem ser letras e números do inglês, mas o primeiro caractere não pode ser um número.
meunome=edwinwzy\$ Aqui, meunome recebe o valor edwinwzy$, mas $é um caractere especial, portanto precisa \ser usado para convertê-lo em um caractere geral.
meunome=$(unome -r) Também podemos usar o conteúdo de saída de uma instrução como o valor de uma variável $para obter o valor
PATH=${PATH}:/home/bin Quando adicionamos variáveis ​​de ambiente no Linux, podemos usar este método de atribuição para acumular, ou seja, adicionar o seguinte conteúdo ao PATH original.
exportar meu nome Após a atribuição da variável, podemos torná-la uma variável de ambiente por meio da exportação, para que outros scripts bahs possam usar esta variável.

2.2 variáveis ​​de cancelamento não definidas

Se você definir algumas variáveis ​​incorretamente e não quiser mais usá-las, poderá usar unset para cancelá-las.
O uso geral é, unset 变量名
por exemplo:unset myname


2.3 Variáveis ​​ambientais

Meu entendimento pessoal sobre variáveis ​​de ambiente é que quando você insere um comando no terminal, o sistema pode saber a qual função seu comando corresponde.
Por exemplo, se você instalar manualmente uma ferramenta de cadeia de compilação cruzada, GCC e GDB deverão ser adicionados manualmente à variável de ambiente PATH (caminho de pesquisa para arquivos executáveis), para que quando você inserir gcc -v no console, o sistema saiba qual versão do gcc você deseja verificar.

O comando usado para visualizar variáveis ​​​​de ambiente é env
.Por exemplo, podemos inseri-lo na máquina virtual envpara visualizar todas as variáveis ​​​​e seu conteúdo do ambiente shell atual.
A seguir está uma interceptação do conteúdo após inserir env. Você pode ver que PATH também é um tipo de variável de ambiente.
Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Alguns dos campos são explicados abaixo:

Nome do campo significado
LAR Pasta pessoal do usuário
CONCHA Qual programa SHELL é usado no ambiente atual, ou seja, é um script /bin/bash ou outro programa de script?
TAMANHO DO HISTÓRICO Instruções relacionadas ao histórico: A quantidade de valores que o sistema salva e que inserimos é determinada por isso.
CAMINHO :Caminho de pesquisa para arquivos executáveis, separados por diretórios
LANG família linguística. Meu Ubuntu aqui tem como padrão en_US.UTF-8, e os métodos de codificação correspondentes a diferentes famílias de idiomas são diferentes. Por exemplo, o código A é AaBbCc…Zz; o código B é ABCD…Zabcd…z. Códigos diferentes levarão a diferenças na forma como o código do programa é escrito.

{ intervalo de variáveis }

Nossas variáveis ​​personalizadas tornam-se variáveis ​​personalizadas.
Usando a analogia das variáveis ​​na linguagem C, a diferença entre variáveis ​​de ambiente e variáveis ​​personalizadas é provavelmente a diferença entre variáveis ​​globais e variáveis ​​locais.

Variáveis ​​personalizadas podem ser transformadas em variáveis ​​de ambiente por meio de exportação e podem ser referenciadas por subprogramas.


Resumir

Este blog extrai parte do conteúdo sobre variáveis ​​bash do livro e o registra com base em minha própria experiência de aprendizado. Não registrei nenhum uso incomum aqui.

Acho que você gosta

Origin blog.csdn.net/Edwinwzy/article/details/131194723
Recomendado
Clasificación