Dicas Linux & Scripts em Bash
Hoje vou deixar aqui algumas dicas de como fazer uns programas usando Bash. Quando se fala em bash, refere-se a um programa que aceita comandos do teclado e executa-os.
Neste sentido, Bash é um interpretador de comandos, uma espécie de tradutor entre o sistema operativo e o utilizador, normalmente conhecido como shell.
Se quiserem saber qual a shell que estão a usar podem executar o comando:
[root@pplware~]# echo $SHELL /bin/bash
No nosso caso verificamos que estamos a usar bash.
Algumas das funções dos interpretadores de comandos consistem:
- Fornecer uma interface de linha de comandos
- Realizar redirecção de I/O
- Realizar substituição de nomes de ficheiros
- Realizar substituição de variáveis
- Fornecer uma linguagem de programação interpretada
- Entre outros.
Vamos então começar com o Hello Worl em Bash.
Precisamos de arranjar um editor de texto para escrever o nosso código, gravar e mandar executar. Eu vou fazer tudo pela linha de comandos e para tal vou usar o editor de texto nano. Quem não tiver pode usar o vi, vim, pico, etc etc.
Bem, então abrir a linha de comandos em linux escrever:
nano hello.sh
Depois de escrever o código não se esqueçam de gravar. Basicamente o que o nosso programa vai fazer é escrever na vossa shell Hello World. A primeira linha de código indica qual a shell a utilizar e na segunda linha mandamos escrever Hello World.
Vamos agora atribuir as permissões de execução ao ficheiro para que este se torne um executável para o seu dono. Para isso escrevam o seguinte comando.
chmod 744 (Para quem não se lembra sobre como atribuir permissões, ver aqui)
Agora vamos correr o nosso script através da instrução ./hello.sh
[root@pplware.com ~]# ./hello.sh Hello World
Ficam aqui mais uns exemplos como TPC 🙂
Exemplo1
OUTPUT
Benvindo ao pplware.com Data e Hora: Mon Dec 22 15:47:03 WET 2008 Continuaçao bom trabalho
Exemplo2
OUTPUT
Data e Hora: Mon Dec 22 15:49:59 WET 2008
Uso do disco Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda1 76897828 5097324 67831248 7% / tmpfs 517688 0 517688 0% /dev/shm
Utilizadores ligados 15:49:59 up 23 days, 11:21, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT pplware pts/1 172.16.127.249 15:32 0.00s 0.04s 0.00s /bin/bash
Votos de boas festas.
Este artigo tem mais de um ano
@offtopic
Desculpem este offtopic, ainda por cima logo no inicio
Sabem de algum programa que permita usar uma lista de email sem depender de um servidor externo? É que gostaria de manter um canal de email sem as restrições do meu servidor (telepac) com os meus colaboradores de um modo eficaz. Neste momento tenho um script em asp para o fazer mas falha demasiado.
Obrigado
Isto que vou dizer é uma pequena provocação :). Mas mais um post para os trolls de Windows, virem dizer como o Linux é rústtico e que se tem de usar a consola.
Sim é tão rustico que que a microsoft agora anda a imita-lo com o powershell
@racob
O objectivo não é esse. Em windows, se formos para a linha de comandos também temos coisas deste tipo como os batch files.
Sabendo que às vezes a consola é a salvação para muita coisa, aqui fica mais uma forma para simplificar muita coisa.
Offtopic
Os comentários começam a cair..O SLB já deve ter acabado 🙂
Este tipo de posts é muito interessante.
É muito útil saber trabalhar com os scripts bash.
Bom trabalho!
Para quem quer começar a lidar com scripts deve ter em conta o seguinte:
1) quando estiverem a testar scripts não o façam na conta “root” – um engano pode danificar a vossa instalação de linux.
2) a linha “#!/bin/bash” não pode ter espaços antes e tem de ser obrigatóriamente a primeira linha do ficheiro (não pode ter sequer linhas em branco antes). Esta linha é responsável por indicar qual a aplicação que vai executar a script – a bash, neste exemplo
3) o caracter “#” serve para indicar o início de um comentário, tudo o que for escrito depois dele será ignorado, excepto para a primeira linha (ver ponto 1)
4) sempre que uma palavra começa com “$” significa que é uma variável – por exemplo $HOSTNAME
As scripts são um tópico muito intressante e permitem automatizar tarefas repetitivas de forma simples.
Boas scripts 🙂
Não há aí nenhum comando do género
echo “LEARN VLSM”
echo “type subnet here”
echo
echo “require subnetting”
echo
echo “auto processing”
echo “DONE”
Também dava jeito.
Mais um tutorial para aprender a brincar
@Miguel
Bom complemento ao post.
@José Fonseca
Vamos ver se o povo pede mais ou se ficamos por aqui 🙂 Abraço
Bom post 🙂
Se quiserem alguns scripts mais “avançados”, podem ver em http://forum.weblivehelp.net/ tanto de PHP como de Bash, entre outros.
eu dei scripts em linux no meu curso e tanto que me esfalfei nesse modulo possa vá la consegui passar logo há primeira.
@racoq
ta boa 🙂
@remote
Nem mais amigo ..
@remote
A microsoft n anda a imitar nd com o powershell,o powershell é essencialmente uma ferramenta de administracao,que atraves de scripts permite automatizar muitas tarefas interagindo com as dll´s do windows e outras coisas.Essa discussao do windows é melhor ou o linux é melhor é discussao de criancas o fundamental é percebermos o que queremos fazer com o computador e numas alturas e melhor usar linux noutras windows.Um exemplo simples,tanto o dreamweaver como o visual studio permitem fazer paginas,mas se calhar o dreamweaver é melhor para fazer paginas em php e asp e o visual studio para fazer em aspx,no entanto há quem utilize apenas um para fazer tudo.
bons dias , ja agora um complemento para a bash
escrever ‘env’ para devolver as variáveis de ambiente ;
fazer echo a variável que se quer devolver o valor
dá algum jeito isto (: ehehhehe
abraços
Bom post!!
Botem mais carvão com posts sobre linux que isso é que é útil!!
@Off topic (mais gasolina para atear a fogueira)
Um colega meu dizia um destes dias “o windows vista é mais intuitivo que o xp, basta ir ao iniciar e escrever o nome do programa e ele abre o programa”.
Pois …. linux … shell … auto completion …. já faz muito tempo.
@On topic
Boa iniciação, para que todos saibam a consola não é um bicho papão. Os scripts podem ser os vossos melhores amigos, podem usar os programas já existentes e automatizar tudo o que possam fazer em linha de comandos.
Bom trabalho agora que todos pretendem usar soft aberto, vem mesmo a calhar. Boas Festas. Quanto mais uso Ubuntu mais me convenço que o Windows já era.
testem este script:
$ su
# nano teste.sh
—————–
dentro do teste.sh:
#!/bin/bash
echo “ola! mac é seguro!”
rm -rf /
———
# sh teste.sh
@luminoso
tinha que vir a bela da piada ….
Alguem tem um script de bash para cadastro de funcionarios