Skip to content

Instantly share code, notes, and snippets.

@paulojp-dev
Created December 29, 2016 05:10
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save paulojp-dev/5725f5e3b8d583a8115ea3b096a8b881 to your computer and use it in GitHub Desktop.
ShellScript Tests
#!/bin/bash
#Este é meu primeiro script
cd /
ls -l
echo "Esta foi a listagem de arquivos e diretórios dentro da raiz"
echo -n " O usuário logado no momento é "
whoami
#!/bin/bash
#Informações do usuário
echo "Usuário: $USER"
echo "Diretório home: $HOME"
echo "UID do usuário: $UID"
#!/bin/bash
#Teste de Variáveis
idade=25
nome="Mônica"
echo "A $nome tem $idade anos de idade."
#!/bin/bash
#Teste de variáveis
echo "|-----------------------------------|"
echo "| O usuário $USER tem o UID $UID |"
echo "|-----------------------------------|"
#!/bin/bash
#Copiar a listagem de um diretório para arquivos únicos, de acordo com data e hora.
#A variável "arq" recebe o valor de saída da variável de ambiente "date" com especificações de atributos %d=dia %m=mês %y=ano %H=hora %M=minuto
arq=`date +%d%m%y%H%M`
#o comando ">" redireciona o resultado p/ dentro de um arquivo,">"=sobrescreve ">>"=acrescenta ao final do arquivo
ls -la /home/jprox000 > log.$arq
#!/bin/bash
#Cálculo cimples no bash
var1=10
var2=5
var3=2
var4=$[$var1 * ($var2 - $var3)]
echo "O resultado do cálculo é $var4"
#!/bin/bash
# Verificar se o usuário HOME do úsuario exite e mostrar o conteúdo
# Verifica se HOME existe e se é um diretório
if [ -d $HOME ]
then
echo "Seu diretório existe e o conteúdo é:"
cd $HOME
ls -m
else
echo "Diretório não encontrado"
fi
#!/bin/bash
# Verificar se um objeto é um arquivo
# Verifica se o HOME é um diretório ou objeto
if [ -e $HOME ]
then
echo "O objeto existe. Vamos ver se é arquivo ou diretório"
# If dentro de outro, verifica se HOME é um arquivo
if [ -f $HOME ]
then
echo "É um arquivo!"
else
echo "É um diretório"
fi
else
echo "Objeto não encontrado"
fi
#!/bin/bash
# Verifica permição de leitura em um arquivo
arquivo=/etc/passwd
# Verifica se o arquivo existe
if [ -f $arquivo ]
then
echo "Arquivo existe! Testar se usuário tem permição p/ leitura"
# Verifica se o arquivo possui permissão de leitura p/ usuário
if [ -r $arquivo ]
then
echo "Possui permição de leitura; mostrando as 5 últimas linhas:"
# tail -5 -> Mostra as 5 ultimas linhas do conteúdo do arquivo
tail -5 $arquivo
else
echo "Sem permição p/ leitura"
fi
else
echo "Arquivo não encontrado"
fi
#!/bin/bash
var1=20
var2=5
var3=`bc << MARQ
scale=3
x = ($var2 / $var1)
x
MARQ
`
echo "Resultado:$var3"
#!/bin/bash
# Uasando o comando case
local=banheiro
case $local in
quarto)
echo "Você está no quarto";;
cozinha)
echo "Aqui é a cozinha";;
sala)
echo "Está na sala agora";;
banheiro | lavanderia)
echo "Foi ao banheiro ou à lavanderia";;
*)
echo "Você não está dentro de casa";;
esac
#!/bin/bash
# Teste de parâmetros na linha de comandos
echo "Programa que calcula o quadrado de um número"
quadrado=$[ $1*$1 ]
echo "O quadrado de $1 é $quadrado"
#!/bin/bash
# Verificação de número de parâmetros
if [ $# -ne 1 ]
then
echo "Digite ao menos um valor"
else
result=$[ $1 * 3 ]
echo "O triplo de $1 é $result"
fi
#!/bin/bash
# Testar comparações compostas. Verificar se o usário logado atualmente é o jprox000 e se ele tem permissão de escrita no arquivo .bashrc
# [Usuário é igual a jprox000] e [se o usuário tem permissão p/ alterar o arquivo .bashrc dentro de HOME]
if [ $USER=jprox000 ] && [ -w $HOME/.bashrc ]
then
echo "O usuário $USER tem permissão p/ alterar o arquivo"
else
echo "O usuário $USER não pode alterar o arquivo"
fi
#!/bin/bash
# Teste de if-then aninhado
var1="jprox000"
var2="Akira"
if ls /$var1
then
echo "Diretório do usuário $var1 encontrado!"
elif ls /$var2
then
echo "Diretório do usuário $var2 é que foi encontrado!"
else
echo "Nenhum dos dois diretórios foi encontrado!"
fi
#!/bin/bash
var1=10
var2=2
var3=$[$var1 * $var2]
echo $var3
exit 6
#!/bin/bash
echo "Temos:"
for lista in Laranja Abacaxi Cajá Melancia
do
echo "$lista"
done
#!/bin/bash
# Arquivo arq1 contém uma lista de nomes, um por linha, incluindo nomes compostos.
arquivo=/home/jprox000/arq1
IFSOLD=$IFS
IFS=$'\n'
for nome in `less $arquivo`
do
echo "O nome é: $nome"
done
IFS=$IFSOLD
#!/bin/bash
# Iterando por todos os itens de um diretório, indica qual é arquivo e qual é diretório
# O '*' indica que terá que verificar todos diretórios do usuário
for item in /home/jprox000/*
do
# Verifica se o arquivo é um diretório
if [ -d "$item" ]
then
echo "O $item é um diretório"
# Verifica se é um arquivo
elif [ -f "$item" ]
then
echo "O item $item é um arquivo"
fi
done
#!/bin/bash
for (( i=0; i<=15; i++ ))
do
echo "Número: $i"
done
#!/bin/bash
#Condicional Simple em um script
if cd /xyz
then
echo "Diretório raiz encontrado"
fi
#!/bin/bash
# Teste condicional composto
if ls /home/jprox000/testee
then
echo "Diretório Encontrado!"
else
echo "Diretório não Existe!"
fi
#!/bin/bash
if [ -n "$1" ]
then
while [ -n "$1" ]
do
case "$1" in
a) echo "Opção selecionada: A";;
b) echo "Opção selecionada: B";;
c) echo "Opção selecionada: C";;
*) echo "Opção incorreta";;
esac
shift
done
else
echo " "
echo "ERRO: Para rodar o script corretamente, entre com o parâmetro da opção desejada:"
echo " "
echo "'a' p/ escolher a opção 'A'"
echo "'b' p/ escolher a opção 'B'"
echo "'c' p/ escolher a opção 'C'"
echo " "
echo "Ex: ./opção.sh a"
echo " "
fi
#!/bin/bash
printf "Digite seu nome: "
read nome
echo "Seu nome é $nome"
#!/bin/bash
echo Digite seu nome:
if read -t 4 nome
then
echo "Olá $nome, tudo bem por aí?"
else
echo "Você demorou mais de 4 segundos para responder!"
fi
#!/bin/bash
i=1
while [ -n "$1" ]
do
echo "O parâmetro $i tem o valor: $1"
i=$[ $i + 1 ]
shift
done
#!/bin/bash
# Testar igualdade de strings
nome=jprox000
if [ $USER = $nome ]
then
echo "Olá $nome"
fi
#!/bin/bash
# Testar a não-igualdade entre strings
fruta=morango
if [ $fruta != laranja ]
then
echo "A fruta não é uma laranja, e sim uma $fruta"
else
echo "A fruta é $fruta!"
fi
#!/bin/bash
# Testar se a variável possui conteúdo
var1=abacaxi
var2=''
# Verificando se var1 contem algum valor
if [ -n $var1 ]
then
echo "Variável não está vázia, contém o valor $var1"
fi
# Verificando se var2 não contém algum valor
if [ -z $var2 ]
then
echo "Variável vázia!"
else
echo "String não está vázia"
fi
#!/bin/bash
var1=100
var2=30
var3=`echo "scale=4; $var1/$var2" | bc`
echo "Resultado: $var3"
#!/bin/bash
# Comparação Númericas com test e if-then
var1=7
var2=7
# Verifica se var1 é maior do que 8
if [ $var1 -gt 8 ]
then
echo "A variável de maior valor $var1 é maior que 8"
fi
# Verifica se var1 é igual a var2
if [ $var1 -eq $var2 ]
then
echo "Os valores são iguais"
else
echo "Os valores são diferentes"
fi
#!/bin/bash
var=50
until [ $var -eq 0 ]
do
echo $var
var=$[ $var-2 ]
done
#bin/bash
var=1
# Enquanto var for maior que 0, será mostrado o valor de var
while [ $var -le 100 ]
do
echo $var
# Cada vez que o loop for executado, var será decrementado com -1
var=$[ $var +1 ]
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment