Shell Script resolvidos
1) Elaborar um script que receba dois números como parâmetros e como resultado da sua execução exiba as seguintes informações:
a. O maior dos números recebidos;
b. O somatório dos números recebidos.
Exemplo:
./meuscript.sh 23 14
O maior número é 23.
A soma dos números é 37.
Resposta:
#!/bin/bash if [ $1 -gt $2 ] then echo "O maior número é: $1" else echo "O maior número é: $2" fi echo "A soma dos números é: `expr $1 + $2`"
2) Elaborar um script que solicite a informação de um nome de usuário e verifique se o nome informado é um usuário válido no sistema (desconsiderando as diferenças entre maiúsculas e minúsculas).
Exemplo 1:
./meuscript.sh
Informe o nome do usuário a ser consultado: Bill
Bill não é um usuário cadastrado.
Exemplo 2:
./meuscript.sh
Informe o nome do usuário a ser consultado: Linus
Linus é um usuário cadastrado.
Resposta:
#!/bin/bash echo -n "Informe o nome do usuário a ser consultado: " read usuario pasta="/home/$usuario" if [ -d $pasta ]
____________________________________________________________________________2
then echo "O usuário $usuario existe no sistema." else echo "O usuário $usuario NÃO existe no sistema." fi 3) Elaborar um script que receba um número como parâmetro e imprima todos os números pares de 0 até o número informado como parâmetro.
Exemplo:
./meuscript.sh 10
0 2 4 6 8 10
Resposta:
#!/bin/bash i=0 while [ $i -le $1 ] do resto=`expr $i % 2` if [ $resto -eq 0 ] then echo -n "$i " fi i=`expr $i + 1` done 4) Uma das informações armazenadas no arquivo /etc/passwd é o shell utilizado por cada usuário do sistema (campo 7). Desenvolva um script que informe quantos usuários não possuem Shell, ou seja, que tenha /bin/false como definição.
Exemplo:
./meuscript.sh
Existem 20 usuários sem Shell definido.
Resposta:
#!/bin/bash cont=0 for shell in `cat /etc/passwd | cut -d":" -f7` do if [ $shell != "/bin/false" ] then cont=`expr $cont + 1` fi done