Programa sem exibição de dados

1. Programa sem exibição de dados

Marcio Henrique
tuga

(usa Ubuntu)

Enviado em 26/12/2016 - 18:36h

Boa tarde,

Programo em C e é a primeira vez que estou programando em Bash (shell-script).

Fiz algumas funções em bash, aprendi a chamar e criei um menu interativo com o usuário, meu programa faz "basicamente" a leitura de uma wordlist e busca arquivos/pastas dentro de um determinado local.

Oque acontece "ou melhor que não acontece" é, não existe mensagem de erro do programa, e nem executa o código de identificação

O menu abre, executa, no entanto ao selecionar as opções ele simplesmente retorna o menu. O programa é bem simples. Alguem poderia me indicar os possíveis problemas? PS: Tirando todo o menu interativo, tirando as funções e deixando rodar só oque tem dentro da função o programa roda.

muito obrigado aos que puderem me ajudar, att.

#!/bin/bash

banner(){
clear
echo "------------------------------------------"
echo "| RECON DE DIRETORIOS E ARQUIVOS |"
echo "------------------------------------------"
echo "| Uso: $0 <local> |"
echo "------------------------------------------"
}

menu(){
clear
echo ""
echo "------------------------------------------"
echo "| RECON DE DIRETORIOS E ARQUIVOS |"
echo "------------------------------------------"
echo "| [1] - Consultar Diretorios |"
echo "| [2] - Consultar Arquivos |"
echo "| [3] - Consultar Arquivos/Diretorios |"
echo "| [4] - Sair |"
echo "------------------------------------------"
echo -n "| Escolha uma opcao: "
read OPT

case $OPT in
1) buscadir ;;
2) buscaarq ;;
3) buscadir;buscaarq ;;
4) exit ;;
*) echo "Opcao Invalida" ; echo ; menu ;;
esac
}

buscadir(){
for palavra in $(cat lista2.txt)
do
resp=$(curl -s -o /dev/null -w "%{http_code}" $1/$palavra/)
if [ $resp == "200" ]
then
echo "Diretorio encontrado --> $palavra"
fi
done
}

buscaarq(){
for palavra in $(cat lista2.txt)
do
resp=$(curl -s -o /dev/null -w "%{http_code}" $1/$palavra)
if [ $resp == "200" ]
then
echo "Arquivo encontrado --> $palavra"
fi
done
}

if [ "$1" == "" ]
then
banner
else
menu
fi


  


2. Re: Programa sem exibição de dados

Takahashi
signout

(usa Slackware)

Enviado em 02/01/2017 - 14:48h

Boas...

Quando você chama o seu script, ele espera um parametro ($1) que não esta sendo passado para as funções que voce criou ($1/$palavra).
De uma olhada neste artigo sobre funções https://www.vivaolinux.com.br/artigo/Como-trabalhar-com-funcoes-em-bash, lá explica como pode ser utilizada a chamada de funções com argumentos.

Espero que ajude.
[]s








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts