Programando em shell script (conceitos básicos)

Estou montando este artigo para ajudar as pessoas que tem interesse em começar a programar em shell script. Não achei nenhuma uma introdução rápida e de fácil entendimento aqui no VOL.

[ Hits: 39.702 ]

Por: Marcello Bontempo Salgueiro em 21/12/2006 | Blog: http://marcello.tranqueira.net


Variáveis



A primeira coisa que devemos saber sobre variáveis é: o que elas realmente fazem basicamente?! Elas guardam informações sobre o sistema e sobre as preferências do usuário. Ela será declarada da seguinte maneira:

$nomedavariavel (caso crie uma variável)

As variáveis de ambiente

São variáveis que são lidas por todos os processos que o shell inicia (sempre declaradas em caixa alta). Variáveis importantes:
  • PATH: uma lista de diretórios que o shell procura pelos executáveis chamados na linha de comando. Ex.:

    # set | grep PATH
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
    /sbin:/bin:/usr/bin/X11

  • HOME: especifica diretório /home/usuário. Ex.:

    # set | grep HOME
    HOME=root

  • USER: especifica o login. Ex.:

    # set | grep USER
    USER=root


  • TERM: declara o tipo de terminal utilizado.

    Próxima página

Páginas do artigo
   1. Variáveis
   2. Aliases
   3. Mão na massa!
Outros artigos deste autor

Escreva poemas com a sua linguagem de programação

Criando um Ubuntu (6.10/7.04) personalizado

Aircrack-ng e sua família para quebrar WEP e WPA1

Instalação e configuração do Hylafax (servidor de FAX)

Leitura recomendada

Introduzindo prazerosamente aos poucos... o shell script

Exemplos práticos de comandos com Parted

Variáveis, if, else e unless em Ruby

Montando, monitorando e gerando logs dos compartilhamento NFS automaticamente

Algoritmos em Shell Script

  
Comentários
[1] Comentário enviado por tuxSoares em 21/12/2006 - 09:37h

Muito fraco, ja existem inumeros artigos desse tipo, acho que foi feito somente para ganhar pontos no rancking.
Mas ta valendo a iniciativa

[2] Comentário enviado por pacman em 21/12/2006 - 09:41h

Bom, é bem resumido, uma coisa interessante de se falar na parte de aliases é que vc pode criar um alias com o mesmo nome de um comando.

alias ls='ls -la'

nesse caso, se vc quiser chamar o comando original e não o alias, vc usa uma contra barra na frente do alias ;-)

[3] Comentário enviado por thelinux em 21/12/2006 - 13:33h

Parabéns pelo artigo. Para quem está inciando no mundo Linux, um artigo como este ajuda bastante. Existem, milhares de documentações sobre Linux e está aqui é mais uma e que ajuda.

Que venha o próximo artigo.

[4] Comentário enviado por tenchi em 22/12/2006 - 00:17h

Também é possível utilizar aritmética nas condicionais:
if ((a>0)) && ((a<=10))
then
echo "A é maior que zero e menor ou igual que 10"
fi
# e também tem o elif...

E no for:
for ((var=1;var<10;var++))
do
echo $var
done

Olha kra, eu comecei a mexer em shell esses tempos, e acho que para um iniciante, ler esse artigo confunde um pouco...
Não estou criticando o seu trabalho, deixo claro aqui, blz?

Falow

[5] Comentário enviado por removido em 22/12/2006 - 08:24h

a linha #!/bin/bash não é necessáriamente obrigatoria, ela somente indica o caminho do interpretador, sem esta linha no seu script, você poderia executalo, chamando o bash com o caminho do script.

O for seta a variavel com cada valor dado separado por espaços, caso o programador queira toda a frase, deve usar ex:

ls -la | while read x;do
echo $x
done

Bom são essas minha observação, no demais esta de bom tamanho para iniciantes.

[6] Comentário enviado por mbsalgueiro em 22/12/2006 - 15:05h

obrigado pela criticas e comentarios aqui! pois somente elogios não se cresce!!!!
tenchi é um pouco complicado para iniciante tb concordo mas tentei fazer de uma forma mais resumida para os iniciante, paraque eles tenham um ponta pé para a inspiração para comecar a programar em shell!! E quem sabe ate ajudar a crescer o SL!!
E continuem postando aqui comentarios crescentes!!!! Sempre são bem vindos...!!! Como sempre digo...: "Quanto mais penso que sei, mais eu percebo que não sei nda!!"

[7] Comentário enviado por yetlinux em 23/12/2006 - 06:21h

Acho que faltou dizer prá que serve o "pipe", vulgo barra vertical "|". Mas isso é para informar quem não sabe. Há outras coisas assim também.

Para primeiro artigo está ótimo, há aqui muitas boas idéias.
O próximo artigo que você escrever sairá ainda melhor, não se preocupe.

[8] Comentário enviado por celsopimentel em 24/12/2006 - 16:28h

Ola! Amigos, gostaria de uma mão para realizar o seguinte script.

tenho um arquivo chamado download.php, no interior dele têm uma data por ex. 24-12-06. quero fazer um script que edite o arquivo download.php e altere a data para um dia após o atual. por ex. se hoje for dia 20-12-06 ele tem que editar o arquivo e colocar a data de dia 21-12-06. Isso é possível????

[9] Comentário enviado por tenchi em 24/12/2006 - 20:03h

celsopimentel, acho que se você pesquisar alguma coisa sobre os comandos sed e tr, vc vai achar a solução deste problema.
Foi mal por não ser mais específico, pois eu também não sei como fazer.
Mas posta aqui se conseguir.

[10] Comentário enviado por celsopimentel em 25/12/2006 - 09:14h

Obrigado Tenchi, valeu! Vou pesquisar.

[11] Comentário enviado por tenchi em 26/12/2006 - 00:33h

Ah, uma coisa que eu não entendi..

Variávei em shell não são declaradas.
Declarar é algo que fazemos comumente em C, pascal, etc.
int j; //c
j:integer; {pascal}
E as variáveis só são tratadas como $var quando queremos o conteúdo delas. Quando atribuímos um valor à ela, usamos só o nome dela mesmo (var="um dois tres"). A menos, é claro, que você use ela em cálculos ((var+1)).
Ah, e acho que um jeito mais prático de verificar o conteúdo se uma variável é:
$ echo $var
Mas esse comando set eu não conhecia. Legal. Bem diferente do set do tcl (atribuição).

Só correções, não críticas. Continue assim.

Falow mais uma vez.

[12] Comentário enviado por jhoumedeiros em 26/12/2006 - 11:06h

Cara gostei... finalmente consegui entender o for... hauhau

Flw!!!

[13] Comentário enviado por mbsalgueiro em 26/12/2006 - 21:12h

Fico feliz jhoumedeiros!!!! =)
espero q continuem postando aqui!!!!!!!
vlw galera!!

[14] Comentário enviado por removido em 27/12/2006 - 12:12h

Parabens pelo artgo!
quanto aos condicionais
são semelhantes aos usados
na linguagem FORTRAN 77

[15] Comentário enviado por minduim em 08/04/2009 - 17:16h

Ola, você sabe como converter String para ineteger ou float em shell script?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts