Ir ao conteúdo
  • Cadastre-se

João Pedro Faia

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa Tarde, tenho dois problemas que não consigo resolver neste código. e precisava que alguém com muita mais experiência me ajudasse. código: #!/bin/bash echo "Introduza o seu username:" read username if cat utilizadores.txt | grep -w $username then x=${username//@/.} echo $date $username >> $HOME//trabalho1/network_$x.txt else echo "O utilizador não existe" exit 0 fi echo "Introduza o username do utilizador a adicionar" read username2 if cat utilizadores.txt | grep -w $username2 then x=${username//@/.} echo $date $username2 >> $HOME//trabalho1/network_$x.txt exit 0 else echo "O utilizador não existe" exit 0 fi 1º problema, quando corro o .sh ele adiciona-me sempre uma linha com os dados do username, como se tivesse um printf para imprimir esses dados mas queria que isso não acontecesse. 2º este ficheiro advém de um outro de nome menu.sh e eu queria que quando ele detecta que o utilizador não existe em vez de fechar o programa abrisse novamente o campo de introdução de username. Podiam ajudar? deixo o código do ficheiro menu.sh: código menu.sh: echo echo Menu echo Escolha uma das opções: echo "1. Criação de User" echo "2. Adicionar Ligaçao Entre Utilizadores" echo "3. Remoção de Ligação" echo "4. Backup" echo "5. Estatistica" echo "6. Sair" echo echo -n "Escolha uma opção:" read opcao echo case $opcao in 1) ./novo_util.sh ;; 2) ./adiciona.sh ;; 3) ./remove.sh ;; 4) ./backups.sh ;; 5) ./estatistica.sh ;; 6) exit ;; *) "entrada invalida" ; echo ; menu ;; esac Obrigado!!
  2. Boas, tenho um problema com este código, preciso de ler apenas o campo de mail e ele está a ler o 1º campo de cada parte do ficheiro utilizadores.txt AJUDEM pff #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <string.h> void obter_substring(char linha[], char resultado[], char separador, int indice) { int i, j=0, meu_indice = 0; for (i=0; linha != '\0'; i++) { if ( linha != separador ) { meu_indice++; } else if (meu_indice == indice) { resultado[j++]=linha; } } resultado[j]='\0'; } main (){ char linha[200]; char mail[100]; FILE *fp; fp=fopen("utilizadores.txt", "r"); int i = 0; while(fgets(linha,200,fp)!= NULL){ obter_substring(linha, mail, ' ', 0); printf("Primeiro campo: %s\n", mail); } fclose(fp); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...