Índice
No bash também é bom separar coisas, por exemplo as funções comuns a todos os programas, elas podem ser mantidas em um único conjunto de bibliotecas, para depois serem utilizadas por outros programas.Neste exemplo, construiremos um arquivo de biblioteca onde colocaremos nossas funções e outra que utiliza este arquivo. A única coisa a lembrar é usar os caminhos absolutos.
Para isso vamos criar nosso arquivo de biblioteca, nosso arquivo de biblioteca que ficará localizado em um local estratégico para seu uso, em / usr / local / bin nosso arquivo se chamará libreriaBash.sh
Nós o abrimos ou criamos com um editor de texto como o Gedit ou, se você for um especialista, com um editor de comandos simples como o nano ou vi. Dentro, podemos o seguinte código
#! / bin / bash # Arquivo de bibliotecas # Aqui você pode declarar variáveis se quiser. #Mostrar a função de data e hora do sistema agora {hora localNow local ret timeNow = $ (data + "% d /% m /% Y% H:% M:% S.% s") ret = $? echo $ timeNow} #Desligar o computador no x tempo de desligamento da função {echo "Tempo de desligamento (min):" tempo de leitura sudo desligamento -h $ tempo} #Desinstalar um aplicativo, ele é passado por parâmetro e requer desinstalação da função de usuário raiz {sudo apt-get remove $ application} # se o scrot estiver instalado, podemos tirar screenshots da função {scrot -e 'mv $ f ~ / Images / scrot / `date +% d-% m-% y_% H:% M:% S`_capture.png.webp '}
Declaramos as variáveis locais para a função; se não fizermos isso, as variáveis que correspondem ao nome serão afetadas pela função e vice-versa.
Assim que tivermos nosso arquivo de biblioteca pronto e sem esquecer que ele deve ter atributos de execução, vamos criar nosso programa que vai usar essa biblioteca.
Agora vamos ver o conteúdo do nosso arquivo test2.sh
#! / bin / bash # file test2.sh #include as bibliotecas ./usr/local/bin/libreriaBash.sh mytime = $ (now) echo "exemplo de saída de função de biblioteca: $ mytime" echo "exemplo dois de função de biblioteca saída: $ (agora) "
Também observamos que as funções podem ser usadas sem serem passadas para uma variável.
Lembre-se de que há muito pouca diferença entre chamar um bash para incluí-lo em nosso programa e executar um bash dentro de outro bash.
#! / bin / bash # arquivo test2.sh #incluir as bibliotecas /usr/local/bin/libreriaBash.sh
O que estamos dizendo é executar o arquivo
agora podemos executar o arquivo ./test2.sh
Assim, podemos criar outros arquivos de script e adicionar funcionalidades às bibliotecas criadas anteriormente, por exemplo, podemos invocar a função para capturar telas que já temos nas bibliotecas de um novo script images.sh
#! / bin / bash # arquivo .sh # inclui as bibliotecas ./usr/local/bin/libreriaBash.sh capturas
As opções são muitas, pois outro exemplo de script bash inclui um download múltiplo, mas passando um arquivo de texto como parâmetro
#! / bin / bash ## chame wget e baixe o que indicamos com a velocidade que dizemos ## e na pasta que queremos limpar echo "Você pode inserir um arquivo de texto" echo "com os endereços como este: '-i arquivo .txt '"sleep 2 echo -n" Insira o endereço de download: "read download sleep 1 echo" O destino deve ser uma pasta existente em seu PC "echo -n" Insira a pasta de destino: "read destination sleep 1 echo" Velocidade Está em kb ou mb Ex: 50k 1m "echo" ou insira 0 (zero) para ilimitado "echo -n" Insira a velocidade de download: "read speed sleep 1 wget -c --limit-rate = $ speed -P $ destination $ file download = `basename $ download` time = $ (date +% H:% M:% S) echo" Terminou o download de $ file em $ destination at $ hour "] sleep 3
A vantagem é que podemos ter várias bibliotecas para trabalhar com arquivos, diretórios, servidores, instalar ou desinstalar programas, monitorar recursos ou realizar tarefas repetitivas sem ter que inserir todo o código novamente.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo