A shell do Linux é uma poderosa ferramenta que traz ao utilizador toda a flexibilidade dos sistemas Unix e todos seus comandos. Neste caso vai-se explicar um pouco de scripts-shell do bash.
Muita gente não sabe que o bash tem uma poderosa linguagem de script embutida nele. Diversas pessoas utilizam-se desta linguagem para facilitar a realização de inúmeras tarefas administrativas num sistema Linux, ou até mesmo para criar seus próprios programas. Para quem gosta de usar a criatividade para criar coisas e facilitar o uso do sistema no dia-a-dia, o shell-script é um prato cheio para começar.
Ideal para quem está a começar na programação, porque dá uma boa noção do básico da lógica da programação. Combinando todos os comandos avançados do Linux, consegue-se fazer coisas muito úteis e aprender muito sobre a lógica da programação.
Programa da shell - programa constituído por comandos Unix (bash file, shell script)
Para criar um programa da shell introduza os vários comandos Unix num ficheiro, umas das vantagens do shell-script é não precisar de ser compilado, basta escrever o texto e já está, como por exemplo:
#!/bin/bash ---> inicio do shell script echo "ola" --> este echo ja vos deve ser familiar e usado no Batch de Dos ou mesmo no PHP; e para escrever na consola neste caso echo "ola" echo "ola"
Depois da criação do programa, é necessário colocar permissões de execução no ficheiro.
chmod u+x prog
Depois de dar permissão a ficheiros basta fazer ./nome_file
Exemplo simples de utilização de uma variável. Atenção que não devem ser utilizados espaços entre a variável, o sinal de igual e o valor atribuído:
#!/bin/bash nome="Pebat" ----> variável que lhe atribui o valor echo $nome ---> aqui vamos mostra na shell o valor da variável
As variáveis nos ficheiros da shell não precisam, de ser declaradas, e são todas do tipo string. Exemplos de variáveis já definidas no sistema: PATH, HOME. Execute os seguintes comandos na linha de comandos:
echo $HOME echo $PATH
O comando set permite visualizar todas as variáveis dos sistema.
Um programa da shell pode receber argumentos através da linha de comandos. O programa acede a estes valores através dos parâmetros posicionais: $1, $2, $3, … O programa seguinte mostra no ecrã o paramento passado na linha de comando:
#!/bin/bash echo "ola" $1
Como executar este programa: chmod u+x nome(o nome do meu ficheiro) depois ./nome pebat irá aparecer ola pebat
* Mostra os 9 argumentos passados através da linha de comando *
#!/bin/bash echo "O primeiro parametro e " $1 echo "..." $2 echo "..." $3 echo "..." $4 echo "..." $5 echo "..." $6 echo "..." $7 echo "..." $8 echo "..." $9
* Neste caso os parâmentros são todos escritos numa só linha *
#!/bin/bash echo $1 $2 $3 $4 $5 $6 $7 $8 $9
* Igual ao anterior. A variável $* contém todos os argumentos *
#!/bin/bash echo $*
* Mostra o nome do próprio programa e o número de argumentos deste *
#!/bin/bash echo "o nome deste ficheiro da shell e " $0 echo "o numero de argumentos e " $1