Shell Script Linux para Iniciantes
Shell Script Linux para Iniciantes
br
Acervo Tux4you - www.tux4.com.br
Índice
Sobre o E-book.....................................................................................................................................3
Sobre o autor....................................................................................................................................3
Licença de uso – Creative commons...............................................................................................3
Introdução ao Shell...............................................................................................................................4
Criando Scripts Shell.......................................................................................................................4
Exemplos de Shell Script.................................................................................................................4
Mais exemplos.................................................................................................................................6
Uso do TIL “~”.....................................................................................................................................7
Variáveis...............................................................................................................................................8
Variáveis do sistema.........................................................................................................................8
Variáveis definidas pelos usuários...................................................................................................9
Conclusão do artigo.......................................................................................................................11
Acervo Tux4you - www.tux4.com.br
Sobre o E-book
Olá caros amigos, cá estamos nós outra vez com mais um e-book gratuito para download. Como
estamos realizando com a série: Administração prática do Linux, vamos dividir este e-book em
algumas edições de modo que você tenha uma leitura rápida e prática do assunto.
Sobre o autor
Meu nome é Juliano Ramos, sou consultor de Servidores Linux a mais de dez anos, certificado
LPIC-3, Novell Linux e Ubuntu. Atuei na prefeitura de São Paulo coordenando trinta unidades de
Telecentros (Centros de inclusão digital) que eram implantados em bairros de baixo IDH. Após
cinco anos à frente deste trabalho, segui para uma empresa privada atuando como coordenador
pedagógico em projetos para o terceiro setor e hoje atuo em minha própria empresa como consultor
de TI e professor. Sou ativista do movimento Open Source e palestrante em eventos como o
Campus Party, mas minha grande inspiração na vida é atuar como coordenador pedagógico da
Tux4you Academy, além das pesquisas diárias que isto exige, tenho tempo para desenvolver e-
books e artigos como este o que é um grande aprendizado.
@juliano
Adaptar — remixar, transformar, e criar a partir do material para qualquer fim, exceto comercial. O
licenciante não pode revogar estes direitos desde que você respeite os termos da licença.
Acervo Tux4you - www.tux4.com.br
Introdução ao Shell
O Shell além de ser a interface que interage o usuário com o kernel do Linux para a execução dos
comandos, é também uma linguagem de programação interpretada (lê e interpreta linha por linha do
código), o Shell também possui operadores, variáveis, expressões, comandos de controle,
condicionais, funções, assim como linguagens semelhantes ao C, Perl e PHP.
/etc/init.d
Você pode visualizar os diversos scripts existentes neste diretório com o comando “cat”.
Exemplo:
cat speech-dispatcher
#!/bin/bash
Caso você esteja utilizando outro sabor de shell como sh por exemplo a linha seria: /bin/sh
Abra seu editor de textos (gedit, kedit, nano, mcedit, vim) e cole o código abaixo:
#!/bin/bash
echo “Este é um script shell”
touch /tmp/teste
ls -l /tmp
Acervo Tux4you - www.tux4.com.br
Não use para isto um processador de textos, como por exemplo o Libreoffice Writer. Salve este
script como script1.sh
Agora que você salvou o seu script é necessário que você dê permissão de execução para ele. Neste
caso, abra seu terminal de comandos e dentro do diretório que você salvou o script acima, execute:
chmod +x script1.sh
./script1.sh
Listando este diretório, de modo que você possa visualizar o arquivo gerado:
ls -l /tmp
Com isto, compreendemos que os scripts são uma forma de automatizar comandos. Excelente para
quem administra um sistema Linux. Mas não podemos limitar o poder do shell script apenas para a
automatização de tarefas, existem programas complexos que podem ser desenvolvidos usando o
shell script e isto requer estudo e prática.
Acervo Tux4you - www.tux4.com.br
Mais exemplos
Uma boa maneira de aprender qualquer linguagem de programação é analisar o código de outros
programadores/programas. Vamos visualizar alguns scripts básicos em Shell.
#!/bin/bash
echo “Abrindo a gaveta...”
eject
Sleep 1
echo “A gaveta será fechada...”
sleep 1
eject -t
Exibindo um comentário
#!/bin/bash
#Eu sou um comentário
echo “Exite um comentário neste shell script”
#!/bin/bash
cor_casa=VERDE
echo “A cor da casa é $cor_casa”
exit
#!/bin/bash
echo “Qual seu nome:”
read nome;
echo “Bem vindo $nome”
exit
$echo ~
/home/juliano
$ cd ~
$ pwd /home/juliano
$ cd /tmp
$ echo~+
/tmp
$ pwd /tmp
$ cd /bin
$ echo ~
/tmp
$ cd ~
$ pwd
/tmp
Acervo Tux4you - www.tux4.com.br
Variáveis
As variáveis são posições na memória do computador onde ficam armazenadas valores temporários,
para serem usados por programas ou scripts que no linux são precedidas pelo caractere dólar $. No
Linux, existem dois tipos de variáveis:
Variáveis do sistema – criadas e gerenciadas pelo próprio Linux e são definidas em letras
MAIÚSCULAS, onde visualiza-las pelos comandos printenv e env tais como: HOME, USER ou
USERNAME, SHELL e etc
Variáveis definidas pelo usuário - criadas e gerenciadas pelo usuário e são definidas em letras
minúsculas ou MAIÚSCULAS
Variáveis do sistema
Você pode ver as variáveis do sistema com os comandos printenv, env e set como mostra o exemplo
abaixo:
$ printenv
ou
$ env
ou
$ set | more
Você também pode exibir qualquer variável ambiente do sistema com o comando echo.
echo $HOME
echo $USER
$ A=10
$ a=5
$ echo
$A
$ echo $a
Ou crie um script para criar as variáveis e exibir seus valores da seguinte forma, e repare uma barra
invertida \ antes do nome das variáveis
\$A
e
\$a
Para que não seja interpretado pelo shell como uma variável
#!/bin/bash
A=10
a=5
echo “O valor de \$A é: $A”
echo “O valor de \$a é: $a”
Acervo Tux4you - www.tux4.com.br
$ chmod +x Script
$ ./Script
Assim como nas linguagens C, Php, Perl e etc, o shell armazena valores de variáveis da seguinte
forma variavel=valor ou VARIAVEL=valor, sendo que o nome da variável pode ser tanto
minúsculo como maiúsculo e o valor pode estar também dentro de “aspas duplas”, 'aspas simples'
ou entre `crases` como mostra o exemplo abaixo:
Digite o código abaixo em um editor de texto qualquer como o gedit (modo gráfico) ou nano (modo
texto) e salve com o nome de variaveis:
#!/bin/bash
var1=10
var2='A'
VAR3="teste"
VAR4=`ls-l /tmp`
echo $var1
echo $var2
echo $VAR3
echo $VAR4
Acima foram criadas 4 variáveis (var1,var2,VAR3 e VAR4), onde var1 é uma variável que
armazena um valor numérico (10), var2 armazena um caractere ('A'), VAR3 armazena uma string
(texto) ("teste") e VAR4 armazena o comando entre `crases` (`ls -l /tmp`). Repare que para exibir
os valores das variáveis com o comando echo é necessário especificar o sinal de dólar $, antes do
nome da variável ($variavel). Para executar o script com o ponto e barra mude as permissões para
execução:
$ chmod +x variaveis
$ ./variaveis
Acervo Tux4you - www.tux4.com.br
Conclusão do artigo
Cada curso (introdução ao shell e unix shell) custa R$ 70,00. Mas estamos com uma promoção até
o final do Mês com 7 cursos pelo preço de R$ 156,00. Conheça todos os cursos do pacote
promocional, clicando aqui:
http://tux4.com.br/networking/7-cursos-pelo-preco-de-1/