30 exemplos de script Bash

30 Bash Script Examples




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

Os tópicos a seguir de programação bash são abordados neste artigo.







  1. Olá Mundo
  2. Comando Eco
  3. Comentários
  4. Comentário multilinha
  5. While Loop
  6. For Loop
  7. Obtenha a opinião do usuário
  8. Declaração If
  9. E Condição se declaração
  10. Ou Condição se declaração
  11. Condição Else if e else
  12. Condição do Caso
  13. Obtenha argumentos da linha de comando
  14. Obtenha argumentos da linha de comando com nomes
  15. Combine duas strings em uma variável
  16. Obter Substring de Strings
  17. Adicione 2 números em uma variável
  18. Crie uma função
  19. Use Parâmetros de Função
  20. Passe o valor de retorno do script
  21. Criar diretório
  22. Faça o diretório verificando a existência
  23. Leia um arquivo
  24. Excluir um arquivo
  25. Anexar ao arquivo
  26. Teste se o arquivo existe
  27. Exemplo de envio de e-mail
  28. Obter a data atual de análise
  29. Comando de Espera
  30. Comando Dormir

Crie e execute o primeiro programa BASH:

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



$jogou fora 'Olá Mundo'



Abra qualquer editor para criar um arquivo bash. Aqui, nano editor é usado para criar o arquivo e o nome do arquivo é definido como ‘ First.sh ’





$nanoFirst.sh

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

#! / bin / bash
jogou fora 'Olá Mundo'



Você pode executar o arquivo bash de duas maneiras. Uma maneira é usar o comando bash e outra é definir a permissão de execução para o arquivo bash e executar o arquivo. Ambas as formas são mostradas aqui.

$bashFirst.sh

Ou,

$chmoda + x First.sh
$./First.sh

Ir 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 ' jogou fora 'Sem qualquer opção, então uma nova linha é adicionada por padrão. ‘-N’ opção é usada para imprimir qualquer texto sem nova linha e '-E' opção é usada para remover caracteres de barra invertida da saída. Crie um novo arquivo bash com um nome, ‘ echo_example.sh ’E adicione o seguinte script.

#! / bin / bash
jogou fora 'Imprimir texto com nova linha'
jogou fora -n 'Imprimir texto sem nova linha'
jogou fora -E ' nRemovendo tbarra invertida tpersonagens n'

Execute o arquivo com o comando bash.

$bashecho_example.sh

Ir para o topo

Uso do comentário:

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

#! / bin / bash

# Adicione dois valores numéricos
((soma=25+35))

#Imprima o resultado
jogou fora $ soma

Execute o arquivo com o comando bash.

$bashcomment_example.sh

Ir para o topo

Uso de comentário multilinha:

Você pode usar o comentário de várias linhas no bash de várias maneiras. Uma maneira simples é mostrada no exemplo a seguir. Crie um novo bash chamado, ‘Multiline-comment.sh’ e adicione o seguinte script. Aqui, ‘:’ e ' símbolos são usados ​​para adicionar comentários de várias linhas no script bash. O script a seguir calculará o quadrado de 5.

#! / bin / bash
:'
O seguinte script calcula
o valor quadrado do número, 5.
'

((área=5*5))
jogou fora $ area

Execute o arquivo com o comando bash.

$bashmultiline-comment.sh

Você pode verificar o link a seguir para saber mais sobre o uso do comentário bash.

https://linuxhint.com/bash_comments/

Ir para o topo

Usando While Loop:

Crie um arquivo bash com o nome, ‘While_example.sh’, saber o uso de enquanto ciclo. No exemplo, enquanto loop irá iterar por 5 vezes. O valor de contar variável irá incrementar em 1 em cada etapa. Quando o valor de contar variável será 5, então o enquanto o loop será encerrado.

#! / bin / bash
válido=verdade
contar=1
enquanto [ $ válido ]
Faz
jogou fora $ count
E se [ $ count -eq 5 ];
então
pausa
ser
((contagem ++))
feito

Execute o arquivo com o comando bash.

$bashwhile_example.sh

Você pode verificar o link a seguir para saber mais sobre o uso do loop while.

https://linuxhint.com/bash-while-loop-examples/

Ir para o topo

Usando For Loop:

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

#! / bin / bash
para (( contador=10; contador>0; contador--))
Faz
jogou fora -n '$ contador'
feito
printf ' n'

Execute o arquivo com o comando bash.

$bashfor_example.sh

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

https://linuxhint.com/bash-for-loop-examples/

Ir para o topo

Obtenha a opinião do usuário:

' leitura 'Comando é usado para obter a entrada do usuário no bash. Crie um arquivo chamado ‘ user_input.sh 'E adicione o seguinte script para obter a entrada do usuário. Aqui, um valor de string será obtido do usuário e exibirá o valor combinando outro valor de string.

#! / bin / bash
jogou fora 'Digite seu nome'
leituranome
jogou fora 'Receber$ namepara LinuxHint '

Execute o arquivo com o comando bash.

$bashuser_input.sh

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

https://linuxhint.com/bash-script-user-input/

Ir para o topo

Usando a instrução if:

Você pode usar a condição if com uma ou várias condições. O bloco inicial e final desta declaração é definido por 'E se' e 'ser' . Crie um arquivo chamado ‘ simple_if.sh 'Com o seguinte script para saber o uso E se declaração em bash. Aqui, 10 é atribuído à variável, n . se o valor de $ n for 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 , '-nascido' para não igualdade e ‘-Gt’ para Maior que no script bash.

#! / bin / bash
n=10
E se [ $ n -lt 10 ];
então
jogou fora 'É um número de um dígito'
outro
jogou fora 'É um número de dois dígitos'
ser

Execute o arquivo com o comando bash.

$bashsimple_if.sh

Ir para o topo

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

Diferentes tipos de condições lógicas podem ser usados ​​na instrução if com duas ou mais condições. Como você pode definir várias condições na instrução if usando E a lógica é mostrada no exemplo a seguir. '&&' é usado para aplicar E lógica de E se demonstração. Crie um arquivo chamado ‘If_with_AND.sh’ para verificar o código a seguir. Aqui, o valor de nome do 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 .

! /sou/bash

jogou fora 'Insira nome de usuário'
leituranome do usuário
jogou fora 'Digite a senha'
leiturasenha

E se [[ ( $ nome de usuário=='admin' && $ senha=='segredo' ) ]];então
jogou fora 'usuário válido'
outro
jogou fora 'usuário Inválido'
ser

Execute o arquivo com o comando bash.

$bashif_with_AND.sh

Ir para o topo

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

' || 'É usado para definir OU lógica em E se doença. Crie um arquivo chamado ‘If_with_OR.sh’ com o seguinte código para verificar o uso de OU lógica de E se demonstração. Aqui, o valor de n será obtido do usuário. Se o valor for igual a quinze ou Quatro cinco então a saída será Vc venceu o jogo , caso contrário, a saída será Você perdeu o jogo .

#! / bin / bash

jogou fora 'Digite qualquer número'
leituran

E se [[ ( $ n -eq quinze || $ n -eq Quatro cinco ) ]]
então
jogou fora 'Você venceu o jogo'
outro
jogou fora 'Você perdeu o jogo'
ser

Execute o arquivo com o comando bash.

$bashif_with_OR.sh

Ir para o topo

Usando a instrução else if:

O uso de mais se condição é um pouco diferente no bash do que em outras linguagens de programação. ‘ elif 'É usado para definir mais se condição em bash. Crie um arquivo chamado, ‘ elseif_example.sh ’E adicione o seguinte script para verificar como mais se é definido no script bash.

#! / bin / bash

jogou fora 'Digite seu número da sorte'
leituran

E se [ $ n -eq 101 ];
então
jogou fora 'Você ganhou o primeiro prêmio'
elif [ $ n -eq 510 ];
então
jogou fora 'Você ganhou o segundo prêmio'
elif [ $ n -eq 999 ];
então
jogou fora 'Você ganhou o 3º prêmio'

outro
jogou fora 'Desculpe, tente da próxima vez'
ser

Execute o arquivo com o comando bash.

$bashelseif_example.sh

Ir para o topo

Usando a declaração do caso:

Caso declaração é usada como a alternativa de if-elseif-else demonstração. O bloco inicial e final desta declaração é definido por ‘ caso ' e ' esac ’. Crie um novo arquivo chamado, ‘ case_example.sh ’E adicione o seguinte script. O resultado do seguinte script será o mesmo do anterior mais se exemplo.

#! / bin / bash

jogou fora 'Digite seu número da sorte'
leituran
caso $ n no
101)
jogou fora jogou fora 'Você ganhou o primeiro prêmio' ;;
510)
jogou fora 'Você ganhou o segundo prêmio' ;;
999)
jogou fora 'Você ganhou o 3º prêmio' ;;
*)
jogou fora 'Desculpe, tente da próxima vez' ;;
esac

Execute o arquivo com o comando bash.

$bashcase_example.sh

Ir 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 variáveis ​​são usadas para ler o primeiro e o segundo argumento da linha de comando. Crie um arquivo chamado command_line.sh e adicione o seguinte script. Dois valores de argumento lidos pelo script a seguir e imprimem o número total de argumentos e os valores dos argumentos como saída.

#! / bin / bash
jogou fora 'Total de argumentos: $ #'
jogou fora '1º argumento = $ 1'
jogou fora '2º argumento = $ 2'

Execute o arquivo com o comando bash.

$bashcommand_line.sh Linux Hint

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

https://linuxhint.com/command_line_arguments_bash_script/

Ir para o topo

Obtenha argumentos da linha de comando com nomes:

Como você pode ler argumentos de 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 E são lidos por este script e imprimem a soma de X e Y.

#! / bin / bash
paranervosono '[email protegido]'
Faz
índice= $(jogou fora $ arg | cortar -f1 -d=)
horas= $(jogou fora $ arg | cortar -f2 -d=)
caso $ index no
X) x=$ horas;;

E) e=$ horas;;

*)
esac
feito
((resultado= x + y))
jogou fora 'X + Y =$ resultado'

Execute o arquivo com o comando bash e com dois argumentos de linha de comando.

$bashcommand_line_namesX=Quatro cinco E=30

Ir para o topo

Combine variáveis ​​String:

Você pode facilmente combinar variáveis ​​de string no bash. Crie um arquivo chamado string_combine.sh e adicione o seguinte script para verificar como você pode combinar variáveis ​​de string em bash colocando variáveis ​​juntas ou usando '+' operador.

#! / bin / bash

string1='Linux'
string2='Dica'
jogou fora '$ string1$ string2'
string3=$ string1+$ string2
string3 + ='é um bom site de blog tutorial'
jogou fora $ string3

Execute o arquivo com o comando bash.

$bashstring_combine.sh

Ir para o topo

Obtenha substring de String:

Como outras linguagens de programação, o bash não tem nenhuma função incorporada para cortar o valor de quaisquer dados de string. Mas você pode executar a tarefa de substring de outra maneira no 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}
jogou fora $ subStr

Execute o arquivo com o comando bash.

$bashsubstring_example.sh

Ir para o topo

Adicione dois números:

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

#! / bin / bash
jogou fora 'Digite o primeiro número'
leiturax
jogou fora 'Digite o segundo número'
leiturae
(( soma= x + y))
jogou fora 'O resultado da adição =$ soma'

Execute o arquivo com o comando bash.

$bashadd_numbers.sh

Você pode verificar o link a seguir para saber mais sobre a aritmética bash.

https://linuxhint.com/bash_arithmetic_operations/

Ir para o topo

Criar Função:

Como você pode criar uma função simples e chamar a função é mostrado no script a seguir. Crie um arquivo chamado ‘ function_example.sh ’E adicione o seguinte código. Você pode chamar qualquer função apenas pelo nome, sem usar qualquer colchete no script bash.

#! / bin / bash
funçãoF1()
{
jogou fora 'Eu gosto de programação bash'
}

F1

Execute o arquivo com o comando bash.

$bashfunction_example.sh

Ir para o topo

Criar função com parâmetros:

O Bash não pode declarar parâmetros ou argumentos da função no momento da declaração da função. Mas você pode usar parâmetros em função usando outra variável. Se dois valores forem passados ​​no momento da chamada da função, as variáveis ​​$ 1 e $ 2 serão usadas para ler os valores. Crie um arquivo chamado ‘ função | _parameter.sh ’E adicione o seguinte código. Aqui, a função, ‘ Rectangle_Area ’ irá calcular a área de um retângulo com base nos valores dos parâmetros.

#! / bin / bash

Rectangle_Area() {
área= $(($ 1 * $ 2))
jogou fora 'Área é:$ area'
}

Rectangle_Area10 vinte

Execute o arquivo com o comando bash.

$bashfunction_parameter.sh

Ir para o topo

Passe o valor de retorno da função:

A função Bash pode passar 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 para a variável, horas que imprime mais tarde combinando com outra string.

#! / bin / bash
funçãosaudações() {

p='Olá,$ name'
jogou fora $ str

}

jogou fora 'Digite seu nome'
leituranome

horas= $(saudações)
jogou fora 'O valor de retorno da função é$ horas'

Execute o arquivo com o comando bash.

$bashfunction_return.sh

Você pode verificar o link a seguir para saber mais sobre o uso da função bash.

https://linuxhint.com/return-string-bash-functions/

Ir para o topo

Criar diretório:

Bash usa ‘ mkdir 'Comando para criar um novo diretório. Crie um arquivo chamado ‘ make_directory.sh ’E adicione o seguinte código 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á um erro.

#! / bin / bash
jogou fora 'Digite o nome do diretório'
leituranewdir
``mkdir $ newdir``

Execute o arquivo com o comando bash.

$bashmake_directory.sh

Ir para o topo

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

Se você deseja verificar a existência de um diretório no local atual antes de executar o ‘ mkdir ', Então você pode usar o seguinte código. ‘-D 'Opção é usada para testar se um determinado diretório existe ou não. Crie um arquivo chamado, ‘ directory_exist.sh ’ e adicione o seguinte código para criar um diretório verificando a existência.

#! / bin / bash
jogou fora 'Digite o nome do diretório'
leiturandr
E se [ -d '$ ndir' ]
então
jogou fora 'Diretório existe'
outro
``mkdir $ ndir``
jogou fora 'Diretório criado'
ser

Execute o arquivo com o comando bash.

$bashdirectory_exist.sh

Você pode verificar o link a seguir para saber mais sobre a criação de diretório.

https://linuxhint.com/bash_mkdir_not_existent_path/

Ir para o topo

Leia um arquivo:

Você pode ler qualquer arquivo linha por linha no bash usando loop. Crie um arquivo chamado, ‘ read_file.sh ’E adicione o seguinte código para ler um arquivo existente chamado,‘ book.txt '.

#! / bin / bash
Arquivo='book.txt'
enquanto leituralinha;Faz
jogou fora $ linha
feito < $ file

Execute o arquivo com o comando bash.

$bashread_file.sh

Execute o seguinte comando para verificar o conteúdo original de ‘ book.txt ' Arquivo.

$gatobook.txt

Você pode verificar o link a seguir para saber as diferentes maneiras de ler o arquivo.

https://linuxhint.com/read_file_line_by_line_bash/

Ir para o topo

Excluir um arquivo:

' rm 'Comando é usado em bash para remover qualquer arquivo. Crie um arquivo chamado ‘ delete_file.sh 'Com o código a seguir para obter o nome do arquivo do usuário e removê-lo. Aqui, '-eu' opção é usada para obter permissão do usuário antes de remover o arquivo.

#! / bin / bash
jogou fora 'Digite o nome do arquivo para remover'
leiturafn
rm -eu $ fn

Execute o arquivo com o comando bash.

$ls
$bashdelete_file.sh
$ls

Ir 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 o Laravel 5 'Será adicionado em' book.txt ’ depois de executar o script.

#! / bin / bash

jogou fora 'Antes de anexar o arquivo'
gatobook.txt

jogou fora 'Learning Laravel 5'>>book.txt
jogou fora 'Depois de anexar o arquivo'
gatobook.txt

Execute o arquivo com o comando bash.

$bashappend_file.sh

Ir para o topo

Teste se o arquivo existe:

Você pode verificar a existência do arquivo no bash usando '-E' ou ‘-F’ opção. ‘-F’ 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
E se [ -f '$ filename' ];então
jogou fora 'O arquivo existe'
outro
jogou fora 'Arquivo não existe'
ser

Execute os comandos a seguir para verificar a existência do arquivo. Aqui, book.txt arquivo existe e book2.txt não existe no local atual.

$ls
$bashfile_exist.sh book.txt
$bashfile_exist.sh book2.txt

Ir para o topo

Enviar email:

Você pode enviar e-mail usando ‘ correspondência ' ou ' enviar correio 'Comando. Antes de usar esses comandos, você deve instalar todos os pacotes necessários. Crie um arquivo chamado, ‘ mail_example.sh ’E adicione o seguinte código para enviar o e-mail.

#! / bin / bash
Destinatário= admin@example.com
Sujeito= Saudação
Mensagem= Bem-vindo ao nosso site
``correspondência-s $ Assunto $ Recipient <<< $ Message``

Execute o arquivo com o comando bash.

$bashmail_example.sh

Ir para o topo

Obter a data atual de análise:

Você pode obter o valor de data e hora do sistema atual usando ` encontro `comando. Cada parte do valor de data e hora pode ser analisada usando ' Y ',' m ',' d ',' H ',' M ' e ' S ’ . Crie um novo arquivo chamado ‘ date_parse.sh ’ e adicione o seguinte código para separar os valores de dia, mês, ano, hora, minuto e segundo.

#! / bin / bash
Ano=``encontro+%E``
Mês=``encontro+%m``
Dia=``encontro+%d``
Hora=``encontro+%H``
Minuto=``encontro+%M``
Segundo=``encontro+%S``
jogou fora ``encontro``
jogou fora 'A data atual é:$ Dia-$ Mês-$ Year'
jogou fora 'A hora atual é:$ Hora:$ Minuto:$ Segundo'

Execute o arquivo com o comando bash.

$bashdate_parse.sh

Ir para o topo

Comando de espera:

esperar é um comando integrado do Linux que aguarda a conclusão de qualquer processo em execução. esperar comando é usado com um determinado ID de processo ou ID de trabalho. Se nenhum ID de processo ou ID de trabalho for fornecido com o comando de espera, ele aguardará a conclusão de todos os processos filho atuais e retornará o status de saída. Crie um arquivo chamado ‘ wait_example.sh ’ e adicione o seguinte script.

#! / bin / bash
jogou fora 'Comando de espera' E
process_id=$!
esperar $ process_id
jogou fora 'Saiu com o status $?'

Execute o arquivo com o comando bash.

$bashwait_example.sh

Você pode verificar o seguinte link para saber mais sobre o comando de espera.

Wait Command no Linux

Ir para o topo

Comando 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 a quantidade de 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 aguardará 5 segundos após a execução.

#! / bin / bash

jogou foraEsperarpara 5segundos
dormir 5
jogou foraConcluído

Execute o arquivo com o comando bash.

$bashsleep_example.sh

Você pode verificar o seguinte link para saber mais sobre o comando sleep.

https://linuxhint.com/sleep_command_linux/

Ir para o topo

Espero que, depois de ler este artigo, você tenha obtido um conceito básico sobre a linguagem de script bash e seja capaz de aplicá-lo com base em seus requisitos.