Pesquisa de site

Entenda as dicas do Linux Shell e da linguagem básica de script do Shell - Parte I


As imagens falam mais que palavras e a imagem abaixo diz tudo sobre o funcionamento do Linux.

Leia também

  1. 5 Shell Scripts para Aprender Programação Shell – Parte II
  2. Navegando pelo mundo dos scripts BASH do Linux – Parte III

Compreendendo o shell do Linux

  1. Shell: Um interpretador de linha de comando que conecta um usuário ao sistema operacional e permite executar comandos ou criar scripts de texto.
  2. Processo: Qualquer tarefa executada por um usuário no sistema é chamada de processo. Um processo é um pouco mais complexo do que apenas uma tarefa.
  3. Arquivo: reside no disco rígido (hdd) e contém dados de propriedade de um usuário.
  4. X-windows, também conhecido como windows: um modo do Linux onde a tela (monitor) pode ser dividida em pequenas “partes” chamadas janelas<, que permitem ao usuário fazer várias coisas ao mesmo tempo e/ou alternar facilmente de uma tarefa para outra e visualizar gráficos de uma maneira agradável.
  5. Terminal de texto: Um monitor que tem apenas a capacidade de exibir texto, sem gráficos ou com uma exibição gráfica muito básica.
  6. Sessão: Tempo entre o logging on e o logout do sistema.

Tipos de Shell em uma distribuição Linux padrão

Bourne shell : O Bourne shell foi um dos principais shells usados nas primeiras versões e se tornou um padrão de fato. Foi escrito por Stephen Bourne no Bell Labs. Todo sistema do tipo Unix possui pelo menos um shell compatível com o shell Bourne. O nome do programa Bourne Shell é “sh” e normalmente está localizado na hierarquia do sistema de arquivos em /bin/sh.

Shell C: O shell C foi desenvolvido por Bill Joy para a Berkeley Software Distribution. Sua sintaxe é modelada a partir da linguagem de programação C. Ele é usado principalmente para uso de terminal interativo, mas com menos frequência para scripts e controle de sistema operacional. O shell C possui muitos comandos interativos.

Começando a diversão! (LinuxShell)

Existem milhares de comandos para usuários de linha de comando, que tal lembrar de todos eles? Hmmm! Simplesmente você não pode. O verdadeiro poder do computador é facilitar o seu trabalho, você precisa automatizar o processo e, portanto, precisa de scripts.

Scripts são coleções de comandos armazenados em um arquivo. O shell pode ler este arquivo e agir de acordo com os comandos como se eles tivessem sido digitados no teclado. O shell também fornece uma variedade de recursos de programação úteis para tornar os scripts realmente poderosos.

Noções básicas de programação Shell

  1. Para obter um shell Linux, você precisa iniciar um terminal.
  2. Para ver qual shell você possui, execute: echo $SHELL.
  3. No Linux, o cifrão ($) representa uma variável shell.
  4. O comando ‘echo’ apenas retorna tudo o que você digita.
  5. A instrução do pipeline (|) vem em socorro, ao encadear vários comandos.
  6. Os comandos do Linux têm sua própria sintaxe, o Linux não vai perdoar nenhum erro. Se você errar um comando, você não será reprovado ou danificará nada, mas não funcionará.
  7. #!/bin/sh – É chamado de shebang. Ele é escrito no topo de um script de shell e passa a instrução para o programa /bin/sh.

Sobre shell script

Shell script é apenas um arquivo de texto simples com extensão “.sh”, possuindo permissão executável.

Processo de escrever e executar um script

  1. Terminal aberto.
  2. Navegue até o local onde deseja criar o script usando o comando ‘cd’.
  3. Cd (enter) [Isso exibirá o prompt em Seu diretório pessoal].
  4. touch hello.sh (aqui nomeamos o script como hello, lembre-se que a extensão ‘.sh’ é obrigatória).
  5. vi hello.sh (nano hello.sh) [Você pode usar seu editor favorito para editar o script].
  6. chmod 744 hello.sh (tornando o script executável).
  7. sh hello.sh ou ./hello.sh (executando o script)
Escrevendo seu primeiro roteiro
#!/bin/bash
My first script

echo "Hello World!"

Salve as linhas acima em um arquivo de texto, torne-o executável e execute-o conforme descrito acima.

Saída de amostra

Hello World!

No código acima.

#!/bin/bash (is the shebang.)
My first script (is comment, anything following '#' is a comment)
echo “Hello World!” (is the main part of this script)
Escrevendo seu segundo roteiro

OK, hora de passar para o próximo script. Este script informará seu “nome de usuário” e listará os processos em execução.

#! /bin/bash
echo "Hello $USER"
echo "Hey i am" $USER "and will be telling you about the current processes"
echo "Running processes List"
ps

Crie um arquivo com os códigos acima, salve-o como quiser, mas com extensão “.sh“, torne-o executável e execute-o, a partir do seu terminal.

Saída de amostra

Hello tecmint
Hey i am tecmint and will be telling you about the current processes
Running processes List
  PID TTY          TIME CMD
 1111 pts/0    00:00:00 bash
 1287 pts/0    00:00:00 sh
 1288 pts/0    00:00:00 ps

Isso foi legal? Escrever um script é tão simples quanto ter uma ideia e escrever comandos em pipeline. Existem algumas restrições também. Os scripts de shell são excelentes para operações concisas do sistema de arquivos e para scripts da combinação de funcionalidades existentes em filtros e ferramentas de linha de comando por meio de pipes.

Quando suas necessidades forem maiores – seja em funcionalidade, robustez, desempenho, eficiência etc. - então você poderá migrar para uma linguagem mais completa.

Se você já conhece a linguagem de programação C/Perl/Python ou qualquer outra linguagem de programação, aprender a linguagem de script não será muito difícil.

Escrevendo seu terceiro roteiro

Passando para, escreva nosso terceiro e último roteiro deste artigo. Este script atua como um script interativo. Por que você mesmo não executa este script simples, mas interativo, e nos conta como se sentiu.

#! /bin/bash
echo "Hey what's Your First Name?";
read a;
echo "welcome Mr./Mrs. $a, would you like to tell us, Your Last Name";
read b;
echo "Thanks Mr./Mrs. $a $b for telling us your name";
echo "*******************"
echo "Mr./Mrs. $b, it's time to say you good bye"

Saída de amostra

Hey what's Your First Name?
Avishek
welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name
Kumar
Thanks Mr./Mrs. Avishek Kumar for telling us your name
******************************************************
Mr./Mrs. Kumar, it's time to say you good bye

Bem, isso não é um fim. Tentamos trazer um gostinho do roteiro para vocês. Em nosso artigo futuro iremos elaborar este tópico de linguagem de script, em vez de um tópico interminável de linguagem de script, para ser mais perfeito. Seus pensamentos valiosos nos comentários são muito apreciados. Curta e compartilhe nós e ajude-nos a espalhar. Até então, relaxe, mantenha-se conectado e fique ligado.

Leia também: 5 Shell Scripts para aprender programação Shell – Parte II