5 scripts de shell para iniciantes Linux para aprender programação de shell - Parte II

5 scripts de shell para iniciantes Linux para aprender programação de shell - Parte II

Para aprender algo que você precisa fazer, sem o medo de não ter sucesso. Eu acredito na praticidade e, portanto, estará acompanhando você ao mundo prático da linguagem de scripts.

Aprenda script básico de shell

Este artigo é uma extensão do nosso primeiro artigo, compreenda o shell Linux e o script básico do shell - Parte I, onde lhe demos um gostinho de scripts, continuando que não o desapontarmos neste artigo.

Script 1: desenhando um padrão especial

#!/bin/bash max_no = 0 echo -n "Digite o número entre (5 a 9):" Leia max_no se ! [$ Max_no -ge 5 -a $ max_no -le 9]; Então eco "wtf… peço para inserir o número entre 5 e 9, tente novamente" saia 1 fi limpo para ((i = 1; i = i; s--)) faça echo -n "" feito para ((j = 1; j<=i; j++ )) do echo -n " ." done echo "" done ###### Second stage ###################### for (( i=MAX_NO; i>= 1; i--)) faça ((s = i; s<=MAX_NO; s++ )) do echo -n " " done for (( j=1; j<=i; j++ )) do echo -n " ." done echo "" done echo -e "\n\n\t\t\t Whenever you need help, Tecmint.com is always there"

A maioria dos acima 'palavras-chave'Seria conhecido por você e a maioria deles é auto -explicativa. e.g., Máx Define o valor máximo da variável, pois é um loop e qualquer coisa dentro do loop começa a executar repetidamente até que o loop seja válido para o valor determinado da entrada.

Saída de amostra
[[Email Protected] ~]# chmod 755 special_pattern.sh [[email protegido] ~]# ./Special_pattern.SH Digite o número entre (5 e 9): 6… sempre que você precisar de ajuda, Tecmint.com está sempre lá

Se você está um pouco ciente de qualquer linguagem de programação, aprender o script acima não é difícil, mesmo que você seja novo em computação, programação e Linux, não será muito difícil.

Baixe Special_pattern.sh

Script 2: Criando script colorido

Quem diz, Linux é incolor E chato, salve os códigos abaixo em qualquer coisa [ponto] sh, Faça -o executável e executá -lo, não se esqueça de me dizer como foi, pense no que você pode alcançar, implementando -o em algum lugar.

#!/bin/bash eco claro -e "33 [1m Hello World" # ECO BOLD ECHO -E "33 [5m Blink" # Efeito de piscar Echo -e "33 [0m Hello World" # de volta ao eco normal -e "33 [ 31m Hello World " # Red Color Echo -e" 33 [32m Hello World " # Echo de cor verde -e" 33 [33m Hello World " # Veja restante na tela Echo -e" 33 [34m Hello World "Echo -e" 33 [35m Hello World "Echo -e" 33 [36m Hello World "Echo -e -n" 33 [0m " # de volta ao eco normal -e" 33 [41m Hello World "Echo -e" -e "33 [43m Hello World" Echo -e "33 [44m Hello World" Echo -e "33 [45m Hello World" Echo -e "33 [46m Hello World" Echo -e "33 [0M Hello World"

Observação: Não se preocupe com o código de cores agora, aqueles importantes para você estarão na sua língua, gradualmente.

Aviso: Seu terminal pode não ter a facilidade de piscar.

Saída de amostra
[[Email Protected] ~]# chmod 755 colorido.sh [[email protegido] ~]# ./Colorido.SH Hello World Blink Hello World Hello Hello Hello Hello Hello Hello World Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Mundo Hello Hello Mundo

Baixe colorido.sh

Script 3: Criptografar um arquivo/diretório

Este script irá criptografar um arquivo (lembrar? diretório/motorista/… . Tudo é tratado como arquivo, em Linux). A limitação atual do script acima é que ele não suporta a conclusão automática do nome usando ABA. Além disso, você precisa colocar o script e o arquivo para ser criptografado na mesma pasta. Pode ser necessário instalar “Pinentry-gui", usando yum ou apt o pacote, se necessário.

[[Email Protected] ~]# yum install pinentry-gui [[email protegido] ~]# apt-get install pinentry-gui

Creta um arquivo chamado “Encrypt.sh”E coloque o script a seguir, faça -o executável e executá -lo como mostrado.

#!/bin/bash eco "Bem -vindo, estou pronto para criptografar um arquivo/pasta para você" echo "atualmente tenho uma limitação, coloque -me para a mesma pasta, onde um arquivo a ser criptografado está presente" eco ", digite o arquivo exato Nome com extensão "Leia o arquivo; GPG -C $ FILE ECHO "Eu criptografi o arquivo com sucesso ..." Echo "agora estarei removendo o arquivo original" rm -rf $ arquivo

Saída de amostra

[[Email Protected] ~]# chmod 755 Encrypt.sh [[email protegido] ~]# ./Criptografia.Bem -vindo, estou pronto para criptografar um arquivo/pasta para você atualmente, tenho uma limitação, coloque -me na mesma pasta, onde um arquivo a ser criptografado está presente, digite o nome exato do arquivo com o pacote de extensão.xml ┌───rigptos --ntas --ntas --ntas livros mudos • ──────perifice─rigpultominante --ntasantentas fitas. ───────periptou Esta senha │ │ │ │ senha ********** ________________________________ │ │ │ │ │ └ └──vio ──────peript 

GPG -C : Isso irá criptografar seu arquivo, usando uma pasta AKA senha. Nesse processo de aprendizado, você nunca pensaria que o processo real de aprendizado poderia ser muito fácil. Então, depois de criptografar um arquivo o que você precisa? Obviamente! descriptografar o arquivo. E eu quero você - o aluno, o leitor para escrever o script de descriptografia, não se preocupe, não vou deixar você no meio, eu só quero que você ganhe algo com este artigo.

Observação: Nome do arquivo GPG -D.gpg > nome do arquivo é o que você precisa implementar em seu script de descriptografia. Você pode postar seu script em comentário se for bem -sucedido, se não puder me pedir para escrever para você.

Baixar Encrypt.sh

Script 4: Utilização do servidor de verificação

Verificar a utilização do servidor é uma das tarefas importantes de um administrador, e um bom administrador é aquele que sabe como automatizar sua tarefa diária. Abaixo está o script que fornecerá muitas informações sobre o seu servidor. Verifique você mesmo.

#!/BIN/BASH DATA; Echo "Uptime:" Uptime Echo "atualmente conectado:" W ECHO "------------------" ECHO "Last Logins:" Last -a | Head -3 eco "----------------------" Echo "disco e uso de memória:" df -h | XARGS | Awk 'print "Free / Total Disk:" $ 11 " /" $ 9' grátis --m | XARGS | awk 'print "grátis / total memória:" $ 17 " /" $ 8 "mb"' eco "----------------" start_log = "cabeça -1 /var/log/mensagens | corte -c 1-12 "oom =" grep -ci kill/var/log/messages "echo -n" oom erros desde $ start_log: "$ oom echo" "echo" ---- --------- ---------.0.0.1 Echo "--------------------" Echo "Conexões atuais:" SS -s Echo "--------------- ----- "Echo" Processos: "PS AUXF--Width = 200 Echo" ------------------ "ECHO" VMSTAT: "VMSTAT 1 5
Saída de amostra
[[Email Protected] ~]# Chmod 755 Health-Health.sh [[email protegido] ~]# ./Saúde do servidor.SH TUE JUL 16 22:01:06 IST 2013 Uptime: 22:01:06 UP 174 DIAS, 4:42, 1 Usuário, Carregar Média: 0.36, 0.25, 0.18 Atualmente conectado: 22:01:06 UP 174 dias, 4:42, 1 Usuário, Carregar Média: 0.36, 0.25, 0.18 Usuário tty de [Email Protected] IDLE JCPU PCPU O que Tecmint PTS/0 116.72.134.162 21:48 0.00S 0.03S 0.03S SSHD: Tecmint [priv] -------------------- Últimos Logins: Tecmint PTS/0 Ter 16 21:48 ainda registrado em 116.72.134.162 TECMINT PTS/0 TUE 16 21:24 - 21:43 (00:19) 116.72.134.162 --------------- --------------- OOM Erros desde 14 de julho 03:37: 0 -------------------- Utilização e processos mais caros: TOP - 22:01:07 até 174 dias, 4:42, 1 Usuário, Carregar Média: 0.36, 0.25, 0.18 Tarefas: 149 Total, 1 Running, 148 Sleeping, 0 parou, 0 CPU (s) Zombie (s): 0.1%nós, 0.0%sy, 0.0%Ni, 99.3%id, 0.6%wa, 0.0%oi, 0.0%si, 0.0 %ST PID Usuário Pr Ni Virt Res SHR S %CPU %Mem Time+ Comando 1 Raiz 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init 2 Raiz 20 0 0 0 s 0.0 0.0 0:00.00 Kthreadd 3 raiz rt 0 0 0 0 s 0.0 0.0 0:14.07 Migração/0

Observação: Eu dei a você o script que fornece a saída no próprio terminal, que tal obter a saída em um arquivo para referência futura. Implemente -o usando o operador de redirecionamento.

  1. '>': O operador de redirecionamento causa uma criação de arquivos e, se existir, o conteúdo será substituído.
  2. '>>': Quando você usa >>, você está adicionando informações, em vez de substituí -las.
  3. '>>'é seguro, em comparação com'>'

Baixe a saúde do servidor.sh

Script 5: Verifique o espaço do disco e envia um alerta de email

Que tal receber um e -mail quando o disco usar na partição PAPEL é maior que o máximo permitido, é um script salva -vidas para administradores da web com pouca modificação.

Max = 95 [email protegido] parte = sda1 use = "df -h | grep $ parte | awk" print $ 5 '| corte -d '%' -f1 'se [$ use -gt $ max]; Então eco "por cento usado: $ use" | Mail -s "Ficando o espaço em disco" $ Email Fi

Observação: Remover "DO UTILIZADOR”Com seu nome de usuário. Você pode verificar o correio usando 'correspondênciaComando.

Faça o download do espaço de cheques.sh

A escrita e a programação de scripts estão além dos limites, tudo e tudo podem ser implementadas conforme necessário. Isso é tudo por enquanto, no meu próximo artigo, darei a seus diferentes sabores de scripts. Até então, fique calmo e sintonizado, aproveite.