https://github.com/virn2005/proyectoops1_dwimsh
DWIMSH (Do What I Mean Shell) is an intelligent command-line shell for Linux that corrects command errors using Hamming and Levenshtein distance, anagram detection, and history-based recommendations.
https://github.com/virn2005/proyectoops1_dwimsh
c dwimsh linux shell
Last synced: 3 months ago
JSON representation
DWIMSH (Do What I Mean Shell) is an intelligent command-line shell for Linux that corrects command errors using Hamming and Levenshtein distance, anagram detection, and history-based recommendations.
- Host: GitHub
- URL: https://github.com/virn2005/proyectoops1_dwimsh
- Owner: VIRN2005
- Created: 2025-03-13T02:06:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-21T20:45:48.000Z (over 1 year ago)
- Last Synced: 2025-03-21T21:28:39.590Z (over 1 year ago)
- Topics: c, dwimsh, linux, shell
- Language: C
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DWIMSH - Do What I Mean Shell
## Descripción
DWIMSH es un shell interactivo para Linux que ayuda a los usuarios a corregir errores tipográficos en comandos mediante:
- Distancia de Hamming
- Distancia de Levenshtein
- Detección de anagramas
- Recomendaciones basadas en historial
Incluye funcionalidades como historial de comandos, autocompletado con `readline`, colores ANSI y manejo de señales.
## Características principales
- **Corrección de errores tipográficos** en comandos mal escritos.
- **Historial de comandos** con navegación mediante flechas.
- **Sugerencias inteligentes** de comandos similares.
- **Soporte para señales** (`SIGINT`, `SIGTERM`) para manejo seguro.
- **Interfaz en colores** para mejorar la experiencia de usuario.
## Instalación
Para compilar e instalar DWIMSH, ejecute:
```sh
gcc -o dwimsh dwimsh.c -lreadline -lm
```
Asegúrese de tener `readline` instalado. En Ubuntu/Debian:
```sh
sudo apt install libreadline-dev
```
## Uso
Ejecute el shell con:
```sh
./dwimsh
```
Dentro del shell, use los siguientes comandos:
- `help` → Muestra ayuda
- `list` → Lista los comandos disponibles
- `history` → Muestra el historial de comandos
- `exit` → Salir del shell
Si un comando no existe, DWIMSH sugiere posibles correcciones.
## Ejemplo de uso
```sh
$ lss
Comando no encontrado: lss
¿Quisiste decir "ls"? [y/n]
```
Si se responde `y`, ejecutará `ls`.
## Contribuciones
Las contribuciones son bienvenidas. Para reportar errores o sugerir mejoras, envíe un *pull request* o abra un *issue*.
## Autor
Escrito por **Víctor Romero - 12211079**