`` `BASH
#!/bin/bash
arquivo de banco de dados
Db_file ="estudantes.txt"
Função para adicionar um novo aluno
add_student () {
# Prompt para detalhes do aluno
Leia -P "Digite o nome do aluno:" Nome
Leia -P "Digite ID do aluno:" ID
Leia -P "Entre no curso do aluno:" Major
# Anexar detalhes do aluno ao arquivo de banco de dados
echo "$ nome, $ id, $ major">> "$ db_file"
eco "o aluno acrescentou com sucesso!"
}
Funcionar para listar todos os alunos
list_students () {
# Verifique se o arquivo de banco de dados existe
se [ ! -f "$ db_file"]; então
eco "nenhum aluno no banco de dados".
retornar
fi
# Imprimir detalhes do aluno do arquivo de banco de dados
eco "nome | id | major"
eco "----- | ---- | -----"
gato "$ db_file" | enquanto ifs =, leia o nome de identificação principal; fazer
eco "$ nome | $ id | $ major"
feito
}
Função para procurar um aluno por id
Search_student () {
# Prompt for Student ID
Leia -P "Digite ID do aluno:" ID
# Pesquise o aluno no arquivo de banco de dados
grep ", $ id", "$ db_file" | enquanto ifs =, leia o nome de identificação principal; fazer
eco "Nome:$ Name"
eco "id:$ id"
eco "major:$ major"
retornar
feito
eco "aluno não encontrado".
}
Função para atualizar os detalhes de um aluno
update_student () {
# Prompt for Student ID
Leia -P "Digite ID do aluno:" ID
# Encontre aluno no arquivo de banco de dados
grep ", $ id", "$ db_file"> tmp.txt
se [$? -ne 0]; então
eco "aluno não encontrado".
retornar
fi
# Prompt para novos detalhes
Leia -P "Digite novo nome (deixe em branco para manter a corrente):" new_name
Leia -P "Digite o novo major (deixe em branco para manter a corrente):" new_major
# Atualize os detalhes do aluno no arquivo temporário
enquanto ifs =, leia o nome antigo_id major; fazer
se ["$ old_id" =="$ id"]; então
se [-n "$ new_name"]; então
name ="$ new_name"
fi
se [-n "$ new_major"]; então
major ="$ new_major"
fi
fi
eco "$ nome, $ Old_id, $ major"
feito
"$ db_file"
rm tmp.txt
eco "o aluno atualizado com sucesso!"
}
função para excluir um aluno
delete_student () {
# Prompt for Student ID
Leia -P "Digite ID do aluno:" ID
# Exclua o aluno do arquivo de banco de dados
grep -v ", $ id", "$ db_file"> tmp.txt
mv tmp.txt "$ db_file"
eco "o aluno excluído com sucesso!"
}
MENU PRINCIPAL
enquanto é verdade; fazer
eco "Menu do banco de dados do aluno"
eco "1. Adicione o aluno"
eco "2. Liste os alunos"
eco "3. Pesquise o aluno"
eco "4. Atualize o aluno"
eco "5. Excluir aluno"
eco "6. Exit"
Leia -P "Digite sua escolha:" Choice
caso "$ escolha" em
1) add_student;;
2) list_students;;
3) Search_student;;
4) update_student;;
5) Delete_student;;
6) saída 0;;
*) eco "escolha inválida. Por favor, tente novamente.";;
ESAC
feito
`` `
Explicação:
1. Inicialização:
- `#!/bin/bash`:define o intérprete do script como Bash.
- `db_file =" estudantes.txt "`:define o nome do arquivo de banco de dados.
2. funções:
- `add_student ()`:
- solicita ao usuário inserir detalhes do aluno.
- Anexa os detalhes ao arquivo de banco de dados.
- `list_students ()`:
- Verifica se o arquivo de banco de dados existe.
- Imprime os detalhes do aluno em uma tabela formatada.
- `Search_student ()`:
- solicita ao usuário inserir um ID do aluno.
- Pesquisa o aluno no arquivo de banco de dados.
- Imprime os detalhes do aluno, se encontrado.
- `update_student ()`:
- solicita ao usuário inserir um ID do aluno.
- encontra o aluno no arquivo de banco de dados.
- solicita ao usuário inserir novos detalhes.
- Atualiza os detalhes do aluno no arquivo de banco de dados.
- `delete_student ()`:
- solicita ao usuário inserir um ID do aluno.
- Exclui o aluno do arquivo de banco de dados.
3. MENU PRINCIPAL:
- usa um `while true` loop para exibir um menu de opções.
- lê a escolha do usuário usando `Read`.
- usa uma instrução `case` para executar a função correspondente com base na opção.
- Saça o loop e o script se o usuário escolher a opção 6.
Para usar o script:
1. Salve o código como um arquivo, por exemplo, `student_db.sh`.
2. Faça o script executável:`chmod +x student_db.sh`
3. Execute o script:`./Student_db.sh`
4. Siga os solicitados do menu para executar operações no banco de dados do aluno.
Nota:
- O arquivo de banco de dados `alunos.txt` será criado no mesmo diretório que o script.
- O arquivo de banco de dados usa um formato separado por vírgula:`nome, id, major`.
- Você pode personalizar o script para adicionar mais recursos, como classificação, filtragem ou exportação de dados para outros formatos.