Introdução à Gramática Básica de Programação Shell

Introdução ao Shell Script

conceito

O script de shell é um arquivo de texto contendo uma série de comandos que o
Shell lê este arquivo e executa os comandos

Cenários de aplicação

  • Operação repetitiva
  • Processamento de transações em massa
  • Operação e manutenção automatizadas
  • Execução de tarefa agendada

O primeiro shell script

Escreva o primeiro script Shell helloword.sh

#!/bin/bash
echo “Hello World”

#! é uma marca acordada, que informa ao sistema qual interpretador o script precisa executar

Métodos comuns de execução de scripts

O primeiro: use o caminho relativo ou caminho absoluto de bash ou sh + script (não dê permissão script + x)

sh helloworld.sh
bash helloworld.sh

O segundo tipo: use o caminho absoluto ou caminho relativo do script de entrada para executar o script (deve ter permissão executável + x) "

  • Primeiro, dê a permissão + x ao script helloworld.sh
chmod 777 helloworld.sh
  • Executar script
./helloworld.sh

Variáveis ​​em Shell

Variável de sistema

Variáveis ​​de sistema comuns:

$ HOME, $ PWD, $ SHELL, $ USER, etc.

Nota: Exibir todas as variáveis ​​no shell atual: set

[root@cent02 ~]# echo $PWD
/root

Variável personalizada

Gramática básica

  • Definir variável: variável = valor
  • Desfazer variável: não definir variável
  • Declare variáveis ​​estáticas: variáveis ​​somente leitura, nota: não pode ser desmarcado

Regras para definir variáveis

  • Os nomes das variáveis ​​podem consistir em letras, números e sublinhados, mas não podem começar com números.
  • Não pode haver espaços em ambos os lados do sinal de igual
  • Nomes de variáveis ​​geralmente são usados ​​em maiúsculas

Atribuir o valor de retorno do comando a uma variável

  • A = `ls -la` backquote, execute o comando interno e retorne o resultado para a variável A
  • A = $ (ls -la) é equivalente a crases
       NN0[root@cent02 ~]# A=`ll`
[root@cent02 ~]# echo $A
total 48 -rw-------. 1 root root 1320 Aug 11 03:20 anaconda-ks.cfg -rw-r--r--. 1 root root 18430 Aug 18 03:57 ‪H:testschool.sql -rw-r--r--. 1 root root 10399 Aug 19 01:12 

Definir variáveis ​​de ambiente

nome da variável de exportação = valor da variável (descrição da função: variáveis ​​de shell de saída como variáveis ​​de ambiente)

arquivo de configuração de origem (descrição da função: fazer com que as informações de configuração modificadas tenham efeito imediatamente)

echo $ nome da variável (descrição da função: consultar o valor da variável de ambiente)

Variável de parâmetro posicional

  • $ n (descrição da função: n é um número, $ 0 representa o próprio comando, $ 1- $ 9 representa o primeiro ao nono parâmetros, parâmetros acima de dez, parâmetros acima de dez precisam ser colocados entre colchetes, como $ {10})
  • $ * (Descrição da função: esta variável representa todos os parâmetros na linha de comando, $ * considera todos os parâmetros como um todo)
  • $ @ (Descrição da função: esta variável também representa todos os parâmetros na linha de comando, mas $ @ trata cada parâmetro de maneira diferente)
  • $ # (Descrição da função: esta variável representa o número de todos os parâmetros na linha de comando)

Variáveis ​​Predefinidas

  • $$ (descrição da função: ID do processo (PID) do processo atual)
  • $! (Descrição da função: ID do processo (PID) do último processo em execução em segundo plano)
  • $? (Descrição da função: o status de retorno do último comando executado. Se o valor desta variável for 0, isso prova que o comando anterior foi executado corretamente; se o valor desta variável não for 0 (cujo número é determinado pelo próprio comando), então Prove que o comando anterior foi executado incorretamente.)

Operador

  • "$ ((Expression))" ou "$ [Expression]"
    expr m + n Observe que deve haver espaços entre os operadores expr
  • expr m-n
    expr *, /,% multiplicação, divisão, resto

Julgamento condicional

[condição] (observe que deve haver espaços antes e depois da condição)

# Não vazio retorna verdadeiro, você pode usar $? Para verificar (0 é verdadeiro,> 1 é falso)

Condições de julgamento comumente usadas

  • Comparação de dois inteiros

    Opções Descrição
    -eq igual
    -nascermos não é igual a
    -gt mais que o
    -lt Menor que
    -a menos que ou igual a
    -dar Melhor que ou igual a
  • Julgue de acordo com as permissões do arquivo

    Opções Descrição
    -d Determine se é um diretório
    -e Determine se o diretório ou arquivo existe
    -f Determinar se é um arquivo
    -r Determine se um arquivo ou diretório pode ser lido pelo usuário atual
    -W Determine se o arquivo ou diretório é gravável pelo usuário atual
    -x Determine se o arquivo ou diretório é executável para o usuário atual

Controle do processo

se julgamento

if [ 条件判断式 ];then 

	程序 

fi

ou

if [ 条件判断式 ] 

	then

		程序 

	elif [条件判断式]

	then

		程序 

fi

Nota: (1) [Fórmula de julgamento condicional], deve haver um espaço entre os colchetes e a fórmula de julgamento condicional (2) O segundo método é recomendado

declaração de caso

case $变量名 in 

	"值 1"

		如果变量的值等于值 1,则执行程序 1 

		;; 

	"值 2"

		如果变量的值等于值 2,则执行程序 2 

		;; 

…省略其他分支… 

	*)

		如果变量的值都不是以上的值,则执行此程序

		;; 

esac

para loop

for 变量 in 值 1 值 2 值 3… 

	do

		程序 

	done
for (( 初始值;循环控制条件;变量变化 )) 

	do

		程序 

	done

loop while

while [ 条件判断式 ] 

	do

		程序 

	done

ler ler entrada do console

read(选项)(参数) 

Opções:

-p: especifica o prompt ao ler o valor;

-t: Especifique o tempo de espera (segundos) na leitura do valor, caso não seja inserido dentro do tempo especificado, não esperará mais. .

parâmetro

Variável: especifique o nome da variável para ler o valor

função

Função do sistema

  • sintaxe básica de nome de base

Função: retornar à última parte do caminho completo, frequentemente usado para obter o nome do arquivo

nome de base [nome do caminho] [sufixo]

basename [string] [sufixo] (descrição da função: o comando basename irá deletar todos os prefixos incluindo o último ('/')

Caractere e, em seguida, exiba a string.

Opções:

sufixo é o sufixo. Se o sufixo for especificado, o nome de base removerá o sufixo do nome do caminho ou da string.

  • Sintaxe básica de dirname

Função: retornar à última / antes da parte do caminho completo, frequentemente usado para retornar à parte do caminho

caminho absoluto do arquivo dirname (descrição da função: remove o nome do arquivo do nome de arquivo fornecido contendo o caminho absoluto (não-diretório

Parte) e, em seguida, retorne ao caminho restante (parte do diretório))

Função personalizada

[ function ] funname[()] 

{
    
    

	Action; 

	[return int;] 

}
调用直接写函数名:funname []

Acho que você gosta

Origin blog.csdn.net/zmzdmx/article/details/108281146
Recomendado
Clasificación