Diretório de artigos
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,5
Este ú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 -al
arquivos 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 cd
comandos 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.
2. 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
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 $PATHIS
valor PATHIS
do variável é saída.
Portanto, para esta situação geralmente precisamos adicionar variáveis de saída {}
.
Por exemplo, o seguinteecho ${PATH}IS
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 | myname Atribuir 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 env
para 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.
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.