10 melhores exemplos de scripts de bash

10 melhores exemplos de scripts de bash

Scripts Bash podem ser usados ​​para vários fins, como executar um comando Shell, executando vários comandos juntos, personalizando tarefas administrativas, executando a automação de tarefas etc. Portanto, o conhecimento do básico da programação do Bash é importante para todos os usuários do Linux. Este artigo o ajudará a obter a ideia básica sobre a programação do Bash. A maioria das operações comuns de scripts de bash são explicadas com exemplos muito simples aqui.

Os seguintes tópicos da programação do Bash são abordados neste artigo.

  1. Olá Mundo
  2. Comando Echo
  3. Comentários
  4. Comentário de várias linhas
  5. Enquanto loop
  6. Para loop
  7. Obtenha entrada do usuário
  8. If Declaração
  9. E condição se declaração
  10. Ou condição se declaração
  11. Senão se e outra condição
  12. Condição de caso
  13. Obtenha argumentos da linha de comando
  14. Obtenha argumentos da linha de comando com nomes
  15. Combine duas cordas em uma variável
  16. Obtenha a substring de cordas
  17. Adicione 2 números em uma variável
  18. Criar uma função
  19. Use parâmetros de função
  20. Passar o valor de retorno do script
  21. Faça diretório
  22. Faça diretório verificando a existência
  23. Leia um arquivo
  24. Exclua um arquivo
  25. Anexar ao arquivo
  26. Teste se existe arquivo
  27. Envie um exemplo de email
  28. Obtenha a data de análise atual
  29. Comando de espera
  30. Comando do sono

Crie e execute o programa First Bash:

Você pode executar o script bash do terminal ou executando qualquer arquivo Bash. Execute o seguinte comando do terminal para executar uma declaração de bash muito simples. A saída do comando será 'Olá Mundo'.

$ eco "Hello World"

Abra qualquer editor para criar um arquivo bash. Aqui, Nano O editor é usado para criar o arquivo e o nome do arquivo é definido como 'Primeiro.sh '

$ nano primeiro.sh

Adicione o seguinte script Bash ao arquivo e salve o arquivo.

#!/BIN/BASH
eco "Hello World"

Você pode executar o arquivo Bash por duas maneiras. Uma maneira é usar o comando Bash e outro é definir permissão para executar o arquivo e executar o arquivo. Ambos os lados são mostrados aqui.

$ Bash primeiro.sh

Ou,

$ chmod a+x primeiro.sh
$ ./Primeiro.sh

Vá para o topo

Uso do comando echo:

Você pode usar o comando echo com várias opções. Algumas opções úteis são mencionadas no exemplo a seguir. Quando você usa 'ecoComando sem qualquer opção, então uma nova linha é adicionada por padrão. '-n' a opção é usada para imprimir qualquer texto sem nova linha e '-e' A opção é usada para remover caracteres de barra de barragem da saída. Crie um novo arquivo Bash com um nome 'echo_example.sh'e adicione o seguinte script.

#!/BIN/BASH
eco "Texto de impressão com newline"
eco -n "Texto de impressão sem newline"
ECHO -E "\ nRemoving \ t BackSlash \ T CARACTERS \ n"

Execute o arquivo com o comando Bash.

$ Bash echo_example.sh

Vá para o topo

Uso do comentário:

'#' O símbolo é usado para adicionar comentários de linha única no script bash. Crie um novo arquivo chamado 'comentário_example.sh ' e adicione o seguinte script com comentário de linha única.

#!/BIN/BASH
# Adicione dois valor numérico
((soma = 25+35))
#Print O resultado
eco $ sum

Execute o arquivo com o comando Bash.

$ Bash Comment_example.sh

Vá para o topo

Uso de comentário de várias linhas:

Você pode usar comentários de várias linhas em Bash de várias maneiras. Uma maneira simples é mostrada no exemplo a seguir. Crie uma nova festa chamada, 'Computação multilina.sh ' e adicione o seguinte script. Aqui, ':' e ““ ' Os símbolos são usados ​​para adicionar comentários multilinas no script bash. Este script a seguir calculará o quadrado de 5.

#!/BIN/BASH
: '
O script a seguir calcula
o valor quadrado do número, 5.
'
((área = 5*5))
eco $ área

Execute o arquivo com o comando Bash.

$ bash multiline-comment.sh

Você pode verificar o seguinte link para saber mais sobre o uso do comentário da festa.

Vá para o topo

Usando While Loop:

Crie um arquivo bash com o nome, 'while_example.sh ', Para saber o uso de enquanto laço. No exemplo, enquanto Loop irá iterar para 5 vezes. O valor de contar A variável aumentará por 1 em cada etapa. Quando o valor de contar variável será 5 então o enquanto O loop terá terminado.

#!/BIN/BASH
válido = true
contagem = 1
enquanto [$ válido]
fazer
eco $ contagem
se [$ count -eq 5];
então
quebrar
fi
((contagem ++))
feito

Execute o arquivo com o comando Bash.

$ bash while_example.sh

Você pode verificar o seguinte link para saber mais sobre o uso do Bash enquanto loop.

Vá para o topo

Usando o loop:

O básico para A declaração de loop é mostrada no exemplo a seguir. Crie um arquivo chamado 'por exemplo.sh'e adicione o seguinte script usando para laço. Aqui, para Loop irá iterar para 10 tempos e imprime todos os valores da variável, contador em linha única.

#!/BIN/BASH
para ((contador = 10; contador> 0; contador--)))
fazer
eco -n "$ contador"
feito
printf "\ n"

Execute o arquivo com o comando Bash.

$ bash for_example.sh

Você pode usar para loop para diferentes propósitos e maneiras em seu script bash. Você pode verificar o seguinte link para saber mais sobre o uso do Bash for Loop.

Vá para o topo

Obtenha entrada do usuário:

'ler'O comando é usado para receber a entrada do usuário em bash. Crie um arquivo chamado 'user_input.sh'e adicione o seguinte script para obter informações do usuário. Aqui, um valor de string será retirado do usuário e exibirá o valor combinando outro valor de string.

#!/BIN/BASH
eco "digite seu nome"
Leia o nome
eco "Welcome $ Name to Linuxhint"

Execute o arquivo com o comando Bash.

$ bash user_input.sh

Você pode verificar o seguinte link para saber mais sobre o uso da entrada do usuário da Bash.

Vá para o topo

Usando a instrução If:

Você pode usar se condição com condições únicas ou múltiplas. O bloco de partida e final desta afirmação é definido por 'se' e 'fi'. Crie um arquivo chamado 'simples_if.sh'Com o seguinte script para saber o uso se Declaração em Bash. Aqui, 10 é atribuído à variável, n. Se o valor de $ n é menor que 10 então a saída será “É um número de um dígito”, Caso contrário, a saída será“É um número de dois dígitos”. Para comparação, '-lt' é usado aqui. Para comparação, você também pode usar '-eq' para igualdade, '-ne' para não igualdade e '-gt' para Maior que no script bash.

#!/BIN/BASH
n = 10
se [$ n -LT 10];
então
eco "é um número de um dígito"
outro
eco "é um número de dois dígitos"
fi

Execute o arquivo com o comando Bash.

$ bash simples_if.sh

Vá para o topo

Usando a instrução if com e lógica:

Diferentes tipos de condições lógicas podem ser usadas em IF de declaração com duas ou mais condições. Como você pode definir várias condições em se a declaração usando E A lógica é mostrada no exemplo a seguir. '&&' é usado para aplicar E lógica de se declaração. Crie um arquivo chamado 'se_with_and.sh ' Para verificar o seguinte código. Aqui, o valor de nome de usuário e senha Variáveis ​​serão retiradas do usuário e comparadas com 'admin' e 'segredo'. Se ambos os valores corresponderem, a saída será “usuário válido”, Caso contrário, a saída será“usuário Inválido”.

#!/BIN/BASH
eco "Entre o nome de usuário"
Leia o nome de usuário
eco "Digite a senha"
Leia a senha
se [[($ userName == "admin" && $ senha == "secret")]]; então
eco "usuário válido"
outro
eco "usuário inválido"
fi

Execute o arquivo com o comando Bash.

$ bash if_with_and.sh

Vá para o topo

Usando a instrução If com ou lógica:

'||'é usado para definir OU lógica em se doença. Crie um arquivo chamado 'se_with_or.sh ' com o código a seguir para verificar o uso de OU lógica de se declaração. Aqui, o valor de n será retirado do usuário. Se o valor for igual a 15 ou 45 então a saída será “Você ganhou o jogo”, Caso contrário, a saída será“Você perdeu o jogo”.

#!/BIN/BASH
eco "digite qualquer número"
Leia n
se [[($ n -eq 15 || $ n -eq 45)]]
então
eco "você ganhou o jogo"
outro
eco "você perdeu o jogo"
fi

Execute o arquivo com o comando Bash.

$ bash if_with_or.sh

Vá para o topo

Usando outra coisa se instrução:

O uso de caso contrário, se A condição é pouco diferente em Bash do que outra linguagem de programação. 'Elif'é usado para definir caso contrário, se Condição em Bash. Crie um arquivo chamado, 'elseif_example.sh'e adicione o seguinte script para verificar como caso contrário, se é definido no script bash.

#!/BIN/BASH
eco "Entre no seu número de sorte"
Leia n
se [$ n -EQ 101];
então
eco "você tem o primeiro prêmio"
Elif [$ n -EQ 510];
então
eco "você tem o segundo prêmio"
Elif [$ n -EQ 999];
então
eco "você tem o terceiro prêmio"
outro
eco "desculpe, tente a próxima vez"
fi

Execute o arquivo com o comando Bash.

$ Bash elseif_example.sh

Vá para o topo

Usando a instrução CASE:

Caso a declaração é usada como a alternativa de if-elseif-else declaração. O bloco inicial e final desta afirmação é definido por 'caso' e 'ESAC'. Crie um novo arquivo chamado, 'case_example.sh'e adicione o seguinte script. A saída do script a seguir será o mesmo para o anterior caso contrário, se exemplo.

#!/BIN/BASH
eco "Entre no seu número de sorte"
Leia n
caso $ n em
101)
eco eco "você tem o 1º prêmio" ;;
510)
eco "você tem o segundo prêmio" ;;
999)
eco "você tem o terceiro prêmio" ;;
*)
eco "Desculpe, tente a próxima vez" ;;
ESAC

Execute o arquivo com o comando Bash.

$ bash case_example.sh

Vá para o topo

Obtenha argumentos da linha de comando:

O script bash pode ler a entrada do argumento da linha de comando como outra linguagem de programação. Por exemplo, $ 1 e $ 2 A variável é usada para ler os argumentos da linha de primeiro e segundo comando. Crie um arquivo chamado “linha de comando.sh”E adicione o seguinte script. Dois valores de argumento lidos pelo script a seguir e imprime o número total de argumentos e os valores do argumento como saída.

#!/BIN/BASH
eco "Total de argumentos: $#"
eco "1º argumento = $ 1"
eco "2º argumento = $ 2"

Execute o arquivo com o comando Bash.

$ Bash command_line.sh linux dica

Você pode verificar o seguinte link para saber mais sobre o uso do argumento da linha de comando Bash.

Vá para o topo

Obtenha argumentos da linha de comando com nomes:

Como você pode ler argumentos da linha de comando com nomes é mostrado no script a seguir. Crie um arquivo chamado, 'Command_line_names.sh ' e adicione o seguinte código. Aqui, dois argumentos, X e Y são lidos por este script e imprimem a soma de x e y.

#!/BIN/BASH
Para Arg em "$@"
fazer
índice = $ (echo $ arg | corte -f1 -d =)
val = $ (echo $ arg | corte -f2 -d =)
caso $ índice em
X) x = $ val ;;
Y) y = $ val ;;
*)
ESAC
feito
((resultado = x+y))
eco "x+y = $ resultado"

Execute o arquivo com o comando Bash e com dois argumentos da linha de comando.

$ Bash command_line_names x = 45 y = 30

Vá para o topo

Combine variáveis ​​de string:

Você pode combinar facilmente variáveis ​​de corda em Bash. Crie um arquivo chamado “string_combine.sh”E adicione o script a seguir para verificar como você pode combinar variáveis ​​de string no Bash, colocando variáveis ​​juntas ou usando '+' operador.

#!/BIN/BASH
String1 = "Linux"
string2 = "Dica"
eco "$ string1 $ string2"
string3 = $ string1+$ string2
String3+= "é um bom blog de tutorial"
eco $ string3

Execute o arquivo com o comando Bash.

$ Bash String_combine.sh

Vá para o topo

Obtenha a substring da string:

Como outra linguagem de programação, o Bash não tem função interna para reduzir o valor de nenhum dado de string. Mas você pode executar a tarefa de substring de outra maneira em bash que é mostrada no script a seguir. Para testar o script, crie um arquivo chamado 'substring_example.sh'Com o seguinte código. Aqui, o valor, 6 indica o ponto de partida de onde a substring começará e 5 indica o comprimento da substring.

#!/BIN/BASH
Str = "Aprenda Linux com Linuxhint"
substr = $ str: 6: 5
echo $ substr

Execute o arquivo com o comando Bash.

$ Bash substring_example.sh

Vá para o topo

Adicione dois números:

Você pode fazer as operações aritméticas em Bash de diferentes maneiras. Como você pode adicionar dois números inteiros no Bash usando suportes duplos é mostrado no script a seguir. Crie um arquivo chamado 'add_numbers.sh'Com o seguinte código. Dois valores inteiros serão retirados do usuário e imprimidos o resultado de adição.

#!/BIN/BASH
eco "digite o primeiro número"
Leia x
eco "Digite o segundo número"
preparar
((soma = x+y))
eco "o resultado de adição = $ sum"

Execute o arquivo com o comando Bash.

$ Bash add_numbers.sh

Você pode verificar o seguinte link para saber mais sobre a aritmética Bash.

Vá para o topo

Criar função:

Como você pode criar uma função simples e chamar a função é mostrada no script a seguir. Crie um arquivo chamado 'function_example.sh'e adicione o seguinte código. Você pode chamar qualquer função por nome apenas sem usar nenhum suporte em scripts bash.

#!/BIN/BASH
função f1 ()

eco 'eu gosto de programação de bash'

F1

Execute o arquivo com o comando Bash.

$ Bash function_example.sh

Vá para o topo

Crie função com parâmetros:

Bash não pode declarar parâmetro de função ou argumentos no momento da declaração da função. Mas você pode usar parâmetros na função usando outra variável. Se dois valores forem passados ​​no momento da chamada de função, então $ 1 e $ 2 variáveis ​​são usados ​​para ler os valores. Crie um arquivo chamado 'função | _parameter.sh'e adicione o seguinte código. Aqui, a função, 'Retângulo_area ' calculará a área de um retângulo com base nos valores dos parâmetros.

#!/BIN/BASH
Retangle_area ()
área = $ (($ 1 * $ 2))
eco "área é: $ área"

Rectangle_area 10 20

Execute o arquivo com o comando Bash.

$ Bash function_parameter.sh

Vá para o topo

Passe o valor de retorno da função:

A função Bash pode passar por valores numéricos e de string. Como você pode passar um valor de string da função é mostrado no exemplo a seguir. Crie um arquivo chamado, 'function_return.sh'e adicione o seguinte código. A função, saudações() Retorna um valor de string na variável, Val que impressa mais tarde combinando com outra corda.

#!/BIN/BASH
função cumprimentando ()
str = "Olá, $ nome"
eco $ str

eco "digite seu nome"
Leia o nome
val = $ (saudação)
eco "o valor de retorno da função é $ val"

Execute o arquivo com o comando Bash.

$ Bash function_return.sh

Você pode verificar o seguinte link para saber mais sobre o uso de funções Bash.

Vá para o topo

Faça diretório:

Bash usa 'mkdir'Comando para criar um novo diretório. Crie um arquivo chamado 'make_directory.sh'e adicione o código a seguir para obter um novo nome de diretório do usuário. Se o nome do diretório não existir no local atual, ele criará o diretório; caso contrário, o programa exibirá erro.

#!/BIN/BASH
eco "Enter o nome do diretório"
Leia Newdir
'mkdir $ newdir'

Execute o arquivo com o comando Bash.

$ bash make_directory.sh

Vá para o topo

Faça diretório verificando a existência:

Se você deseja verificar a existência de diretório no local atual antes de executar o 'mkdir'Comando então você pode usar o seguinte código. '-d'A opção é usada para testar um diretório específico existe ou não. Crie um arquivo chamado, 'diretório_exist.sh ' e adicione o código a seguir para criar um diretório, verificando a existência.

#!/BIN/BASH
eco "Enter o nome do diretório"
Leia ndir
Se [-d "$ ndir"]
então
ECHO "Diretório existe"
outro
'mkdir $ ndir'
Echo "Diretório criado"
fi

Execute o arquivo com o comando Bash.

$ Bash Directory_exist.sh

Você pode verificar o seguinte link para saber mais sobre a criação do diretório Bash.

Vá para o topo

Leia um arquivo:

Você pode ler qualquer arquivo de arquivo por linha em bash usando o loop. Crie um arquivo chamado, 'read_file.sh'e adicione o código a seguir para ler um arquivo existente chamado,'livro.TXT'.

#!/BIN/BASH
arquivo = 'livro.TXT'
enquanto lida linha; fazer
eco $ linha
feito < $file

Execute o arquivo com o comando Bash.

$ Bash read_file.sh

Execute o seguinte comando para verificar o conteúdo original de 'livro.TXT' arquivo.

$ CAT Livro.TXT

Você pode verificar o seguinte link para conhecer as diferentes maneiras de ler o arquivo em bash.

Vá para o topo

Exclua um arquivo:

'rm'O comando é usado no Bash para remover qualquer arquivo. Crie um arquivo chamado 'delete_file.sh'Com o código a seguir para pegar o nome do arquivo do usuário e remover. Aqui, '-eu' A opção é usada para obter permissão do usuário antes de remover o arquivo.

#!/BIN/BASH
eco "Digite o nome do arquivo para remover"
Leia fn
rm -i $ fn

Execute o arquivo com o comando Bash.

$ ls
$ BASH DELETE_FILE.sh
$ ls

Vá para o topo

Anexar ao arquivo:

Novos dados podem ser adicionados a qualquer arquivo existente usando '>>' Operador em Bash. Crie um arquivo chamado 'Append_File.sh'e adicione o seguinte código para adicionar novo conteúdo no final do arquivo. Aqui, 'Aprendendo Laravel 5'será adicionado ao de'livro.TXT' Arquivo após executar o script.

#!/BIN/BASH
eco "antes de anexar o arquivo"
Livro de gatos.TXT
eco "Learning Laravel 5" >> livro.TXT
eco "depois de anexar o arquivo"
Livro de gatos.TXT

Execute o arquivo com o comando Bash.

$ Bash Append_File.sh

Vá para o topo

Teste se existir arquivo:

Você pode verificar a existência de arquivo em bash usando '-e' ou '-f' opção. '-f' A opção é usada no script a seguir para testar a existência do arquivo. Crie um arquivo chamado, 'file_exist.sh'e adicione o seguinte código. Aqui, o nome do arquivo passará da linha de comando.

#!/BIN/BASH
nome do arquivo = $ 1
se [-f "$ filename"]; então
eco "o arquivo existe"
outro
eco "o arquivo não existe"
fi

Execute os seguintes comandos para verificar a existência do arquivo. Aqui, livro.TXT O arquivo existe e Livro2.TXT não existe no local atual.

$ ls
$ Bash file_exist.SH Book.TXT
$ Bash file_exist.SH Book2.TXT

Vá para o topo

Enviar email:

Você pode enviar e -mail usando 'correspondência' ou 'enviar correioComando. Antes de usar esses comandos, você deve instalar todos os pacotes necessários. Crie um arquivo chamado, 'Mail_Example.sh'e adicione o código a seguir para enviar o email.

#!/BIN/BASH
Receptor = ”[email protected]
Sujeito = "Saudação"
Mensagem = “Bem -vindo ao nosso site”
'Mail -S $ Assunto $ REMBENSENTO <<< $Message'

Execute o arquivo com o comando Bash.

$ Bash Mail_Example.sh

Vá para o topo

Obtenha a data de análise atual:

Você pode obter o valor atual da data e hora do sistema usando 'dataComando. Cada parte da data e do tempo pode ser analisada usando 'Y ',' m ',' d ',' h ',' m ' e 'S '. Crie um novo arquivo chamado 'date_parse.sh ' e adicione o código a seguir para separar o dia, mês, ano, hora, minuto e segundo valores.

#!/BIN/BASH
Ano = 'data +%y'
Mês = 'data +%m'
Dia = 'data +%d'
Hora = 'data +%h'
Minuto = 'data +%m'
Segundo = 'data +%s'
eco 'data'
eco "a data atual é: $ dia- $ mês- $ ano"
eco "hora atual é: $ hora: $ minuto: $ segundo"

Execute o arquivo com o comando Bash.

$ BASH DATE_PARSE.sh

Vá para o topo

Comando de espera:

espere é um comando interno do Linux que aguarda a conclusão de qualquer processo de execução. espere O comando é usado com um ID de processo específico ou ID de trabalho. Se nenhum ID do processo ou ID do trabalho for dado com o comando Wait, ele aguardará todos os processos filhos atuais para concluir e retornará o status de saída. Crie um arquivo chamado 'espera_example.sh ' e adicione o seguinte script.

#!/BIN/BASH
eco "espera comando" e
process_id = $!
aguarde $ process_id
eco "saiu do status $?"

Execute o arquivo com o comando Bash.

$ bash wait_example.sh

Você pode verificar o seguinte link para saber mais sobre o comando Bash Linux Wait.

Vá para o topo

Comando do Sleep:

Quando você deseja pausar a execução de qualquer comando por um período específico de tempo, você pode usar dormir comando. Você pode definir o valor do atraso por segundos (s), minutos (m), horas (h) e dias (d). Crie um arquivo chamado 'Sleep_Example.sh ' e adicione o seguinte script. Este script esperará 5 segundos após a corrida.

#!/BIN/BASH
eco "Espere 5 segundos"
sono 5
eco "concluído"

Execute o arquivo com o comando Bash.

$ bash sleep_example.sh

Você pode verificar o seguinte link para saber mais sobre o comando Bash Linux Sleep.

Vá para o topo

Espero que, depois de ler este artigo, você tem um conceito básico sobre a linguagem de scripts e poderá aplicá -los com base em seus requisitos.