Navegando pelo mundo do Linux Bash Script - Parte III

Navegando pelo mundo do Linux Bash Script - Parte III

Os seguintes artigos seguintes de 'Script de shell'Séries foram muito apreciadas e, portanto, estou escrevendo este artigo para estender o processo sem fim de aprender.

Script de shell básico Parte 3
  1. Entenda as dicas básicas de linguagem de script linux shell - Parte I
  2. 5 scripts de shell para iniciantes Linux para aprender programação de shell - Parte II
Palavras -chave Bash

A palavra -chave é uma palavra ou símbolo que tem um significado especial para uma linguagem de computador. Os seguintes símbolos e palavras têm significados especiais para Bash Quando eles não são calculados e a primeira palavra de um comando.

! ESAC SELECT caso FI Então [[[faça até]] Faça uma função enquanto Elif se houver tempo em 

Ao contrário da maioria dos idiomas de computador, Bash permite que as palavras -chave sejam usadas como nomes variáveis Mesmo que isso possa dificultar a leitura dos scripts. Para manter os scripts compreensíveis, as palavras-chave não devem ser usadas para nomes de variáveis.

Um comando é implementado no shell como $(comando). Você pode ter que incluir o caminho completo do comando. e.g., $ (/bin/data), para execução correta.

Você pode conhecer o caminho de um programa específico usando 'Onde éComando. e.g., onde a data

[[email protegido]/]# whereis date:/bin/date/usr/share/man/man1/data.1.gz

Isso é o suficiente por enquanto. Não estaremos falando muito sobre essas teoria agora. Vindo para scripts.

Mover o diretório de trabalho atual

Mova do diretório de trabalho atual para qualquer nível, apenas fornecendo o valor numérico no final do script enquanto executa.

#! /BIN/BASH Nível = $ 1 para (i = 1; i <= LEVEL; i++)) do CDIR=… /$CDIR done cd $CDIR echo "You are in: "$PWD exec /bin/bash

Salve os códigos acima como “acima.sh“, Na sua área de trabalho. Faça dele executável (CHMOD 755 UP.sh). Correr:

./acima.SH 2 (moverá o diretório de trabalho atual para dois níveis para cima).
./acima.SH 4 (moverá o diretório de trabalho atual para quatro níveis para cima).

Uso e área de aplicação

Em scripts maiores que contêm pasta dentro da pasta dentro… contendo Bibliotecas, binários, ícones, executáveis, etc em local diferente, você, como desenvolvedor.

Observação: Pois é um loop no script acima e continuará sendo executado até que os valores sejam verdadeiros para o loop.

Saída de amostra
[[email protegido] /]# chmod 755 up [[email protegido] /]# ./acima.sh 2 você está dentro: / [[email protegido] /]# ./acima.sh 4 você está dentro: / [[email protegido] /]#

Baixar.sh

Crie um arquivo ou pasta aleatória

Crie um arquivo aleatório (pasta) sem chance de duplicação.

#! /bin/bash eco "hello $ user"; eco "$ (tempo de atividade)" >> "$ (data)".txt echo "Seu arquivo está sendo salvo para $ (PWD)"

Este é um script simples, mas está funcionando, não é muito simples.

  1. 'eco': Imprime tudo escrito dentro das citações.
  2. '$': É uma variável de shell.
  3. '>>': A saída é redirecionada para a saída de data comando seguido por TXT extensão.

Nós sabemos a saída de data comando é data, e tempo em hora, minuto, segundo juntamente com ano. Portanto, poderíamos obter saída em um nome de arquivo organizado sem a chance de duplicação de nome do arquivo. Pode ser muito útil quando o usuário precisa do arquivo criado com Carimbo de hora para referência futura.

Saída de amostra
[[email protegido] /]# ./RandomFile.SH Hello Server, seu arquivo está sendo salvo para/home/servidor/desktop

Você pode visualizar o arquivo criado na área de trabalho com a data de hoje e a hora atual.

[[Email Protected] /]# Nano SAT \ JUL \ 20 \ 13 \: 51 \: 52 \ ist \ 2013.txt 13:51:52 UP 3:54, 1 Usuário, Carregar Média: 0.09, 0.12, 0.08

Uma implementação mais detalhada do script acima é dada abaixo, que funciona no princípio acima e é muito útil para reunir as informações de rede de um Linux servidor.

Baixe o RandomFile.sh

Script para coletar informações de rede

Reúne informações de rede em um Linux servidor. O script é muito grande e não é possível postar todo o código e saída do script aqui. Então, é melhor você pode baixar o script usando o link abaixo do download e testá -lo você mesmo.

Observação: Você pode precisar instalar LSB-CORE pacote e outros pacotes e dependência necessários. Apt ou Yum os pacotes necessários. Obviamente você precisa ser raiz Para executar o script, porque a maioria dos comandos usados ​​aqui está configurada para ser executada como raiz.

Saída de amostra
[[email protegido] /]# ./CollectNetworkInfo.sh as informações de configuração de rede escritas para rede.20-07-13.informações.TXT. Envie um e -mail para este arquivo para [Email Protected] _provider.com. Ktop

Você pode alterar o endereço de e -mail acima em seu script para que ele seja enviado para você. O arquivo gerado automaticamente pode ser visualizado.

Baixe CollectNetNetworkInfo.sh

Script para converter maiúsculas em minúsculas

Um script que converte Maiúsculas para minúsculo e redireciona a saída para um arquivo de texto “pequeno.TXT”Que pode ser modificado conforme necessário.

#!/bin/bash echo -n "Digite o nome do arquivo:" Leia o nome do arquivo se [ ! -f $ FILENAME]; Então eco "nome do arquivo $ nome não existe" Exit 1 fi tr '[a-z] "[a-z]'> pequeno.TXT

Este script acima pode converter o caso de um arquivo de qualquer comprimento com um único clique de maiúsculas para minúsculo e vice-versa, se necessário, com pouca modificação.

Saída de amostra
[[email protegido] /]# ./convertlowercase.sh enter o nome do arquivo: a.Arquivo inicial txt: a b c d e f g h i j k… 

Novo arquivo (pequeno.TXT) saída:

A b c d e f g h i j k… 

Download convertlowercase.sh

Programa de calculadora simples

#! /bin/bash clear soma = 0 i = "y" eco "digite um não."Leia N1 Echo" Digite o segundo não."Leia n2 enquanto [$ i =" y "] do eco" 1.Adição "eco" 2.Subtração "Echo" 3.Multiplicação "Echo" 4.Divisão "ECHO" Digite sua escolha "Leia CH CASO $ CH em 1) SUM = 'EXPR $ N1 + $ N2' ECHO" SUM = "$ SUM ;; 2) SUM = 'EXPR $ N1 - $ N2' ECHO" Sub = "$ SUM ;; 3) SUM = 'EXPR $ N1 \ * $ N2' ECHO" MUL = "$ SUM; ) eco "escolha inválida" ;; ESAC ECHO "Você quer continuar (s/n)) ?"Leia eu se [$ i != "y"] Então saia
Saída de amostra
[[email protegido] /]# ./SimpleCalc.sh digite um não. 12 Digite o segundo não. 14 1.Adição 2.Subtração 3.Multiplicação 4.Divisão Digite sua escolha 1 soma = 26 Você quer continuar (S/N)) ? y 1.Adição 2.Subtração 3.Multiplicação 4.Divisão Digite sua escolha 3 Mul = 14812 Você quer continuar (S/N)) ? n

Baixe o SimpleCalc.sh

Então você viu como foi fácil criar um programa poderoso como cálculos de uma maneira tão simples. Não é o fim. Estaremos compensando pelo menos mais um artigo desta série, cobrindo uma ampla perspectiva da Visualização da Administração.

É tudo por agora. Sendo o leitor e o melhor crítico, não se esqueça de nos dizer quanto e o que você gostou neste artigo e o que você quer ver no futuro artigo. Qualquer pergunta é muito bem -vinda em comentar. Até então, fique saudável, seguro e sintonizado. Como e Compartilhar nós e nos ajude a espalhar.