Manual do Hacker Especial | 79
world.txt não exista, ele o criará; caso exista, ele o
substituirá, portanto, tenha cuidado.
Se quiser mudar o diretório, você pode usar o comando
cd. Por exemplo, cd / o colocará no diretório de
superusuário, que está no topo da hierarquia dos seus
arquivos de sistema, enquanto cd /usr/bin o colocará no
subdiretório do usuário, que é em si um subdiretório do
superusuário.
Os caminhos também podem ser relativos, portanto
caso você esteja em seu diretório inicial e quiser mover seus
subdiretório Documents, você pode digitar cd Documents,
e o shell procurará pela pasta Documents no diretório atual
e movê-la para você.
Finalmente, os caminhos também podem ser utilizado
para especificar arquivos para comando para operar. Por
exemplo, para copiar hello.txt para world.txt, mas com
world.txt estando em seu diretório Documents e hello.txt
estando eu seu diretório teste, você poderia digitar:
cp test/hello.txt /home/jon/Documents/world.txt
Você notará também que pode misturar e combinar
caminhos relativos e absolutos.
Olá, mundo
Depois de uma visão geral básica, é hora de seguir para o
real objetivo deste artigo: criar scripts com Bash.
Conforme nós o introduzimos a novas funções que
permitem que você use o shell como um ambiente de
programação para propósito geral, nós também
introduziremos a vários comandos que você pode não ter
ouvido falar antes. Em vez de parar para explicar tudo,
sugerimos utilizar o comando man para descobrir mais
sobre cada comando – digite man
você terá instruções de como utilizá-lo. Tente digitar man
para aprender como esse comando funciona.
Na longa tradução de tutoriais de programação, vamos
começar com um programa que mostre ‘Hello World’ em
sua tela. Escreva as linhas abaixo em um arquivo e salve:
#!/bin/bash
echo “Hello World”
Uma vez que você fez isso, crie o arquivo executável com:
chmod +x
Em seguida, rode-o com o shell, digitando:
./
Você deve ver palavras exibidas em seu shell. A primeira
linha é conhecida como shbang. Ela é usada para operar o
sistema para determinar qual programa deve ser utilizado
para executar os conteúdos do script. Neste caso, nós
especificamos o caminho absoluto para o programa Bash.
Este precisa ser o caminho absoluto E também deve ter os
caracteres #! no começo.
A segunda linha é apenas um comando shell padrão.
Neste caso, é o comando echo, que faz uma cópia de
qualquer argumento passado na tela. Nós poderíamos
ter colocado qualquer comando shell que quiséssemos
aqui e, quando nós rodamos nosso script, o shell teria
executado-o.
Isto é o que realmente dá poder aos seus scripts
shell. Você pode tirar vantagem de uma gama completa
de comandos que já estão no Bash, bem como as
funções fantásticas como redirecionamento e tubos para
amarrá-los juntos, mas escrever scripts te dá ainda mais
maneiras de juntar todos eles com instruções
condicionais para loops e funções.
Os dois pontos finais para observar são que nós
tivemos de tornar o arquivo executável – de outra forma,
o sistema operacional não nos permitiria rodá-lo, e não
poderíamos apenas digitar seu nome como um comando
normal, mas tivemos de digitar ./ antes disso. O ponto é a
forma abreviada para o caminho atual do diretório, e a
barra é o divisor entre diretórios e arquivos, portanto ./ é
abreviação para o caminho absoluto de um arquivo em
seu diretório atual. (Para descobrir por que isso é
necessário, veja o box “$PATH”.)
Variáveis
Você pode estender o script anterior em várias maneiras
simples. Por exemplo, é possível adicionar mais comandos
para executar simplesmente colocando cada comando em
uma linha diferente.
#!/bin/bash
echo “hello world”
echo “These files are in my current directory:”
ls
Bem como utilizando técnicas de script no Bash em seu
arquivos, você também pode utilizá-las no próprio console
Saiba onde você está
Sempre que estiver utilizando o
shell, ele sempre manterá o
controle de qual diretório você está
trabalhando no momento. Como
mencionamos no texto principal,
quando você inicia um shell, ele
normalmente estabelece seu
diretório inicial.
Isto pode parecer um detalhe
mínimo, mas, na verdade, é bem
importante. Para iniciantes, ao
menos que você especifique um
caminho absoluto, todos os
caminhos de arquivos e diretórios
emitidos são relativos ao seu
trabalho atual no diretório. Se
emitir um comando para a direção
errada, você pode deparar-se com
resultados inesperados ou mesmo
excluir o arquivo errado. A outra
razão que importa é que certas
operações, como desmontar um
diretório, falharão caso você tenha
um shell ativo naquele diretório. No
entanto, isto provavelmente não é
um problema quando você esta
usando o shell interativamente,
mas se você estiver fazendo script
e seu cd esteja em um diretório
que você pode tentar desmontar
mais tarde, você pode descobrir
que seu script falha – e você não
sabe o por quê.
Você sempre pode descobrir
qual diretório você está emitindo o
comando pwd – que vem do inglês
present working directory (diretório
de trabalho atual, em tradução
livre) – para descobrir exatamente
onde você está.
“Esta abordagem
simples já oferece um
poder bem expressivo”
Grupo Unico PDF Passe@diante