42_minishell's People
42_minishell's Issues
Builtin_PWD
CMD_preprocesado_recortar_TRIM
Modulo de señales
Modulo_init_environment
Hay que modificar ligeramente este modulo ya que cuando la shell se lanze desde Bash, no se va a crear por defecto una variable de entorno llamada OLDPWD. Esta existira pero estara vacia. Por lo tanto, si el shell se lanza desde bash, habra que crear manualmente esta variable y dejarla vacia
Builtin_CD_eliminar BUG
Builtin_ENV
El anterior Builtin_ENV lo he renombrado a init_environment ya que ese modulo solo guardaba las variables de entorno en memoria dinamica al inicializarse la ejecucion del programa.
Este Builtin_ENV, sera el modulo a utilizar durante la ejecucion siempre que el usurario introduzca como inpunt el comando ENV.
Este modulo recibira la estructura de datos donde se guardan las variables de entorno y las mostrara por pantalla.
Exit_bug
Warnings Linux
Me han salido estos warnings al compilar en Linux, hay que revisarlos para ver como se solucionan:
- builtin_unset.c: Linea 44 variable ‘j’ set but not used.
- cmd_preprocessor.c: Lines 54 variable ‘double_quote’ set but not used.
- cmd_preprocessor.c: Lines 55 variable ‘single_quote’ set but not used.
BUILTIN_CD_corregir bug con cd..
Comprobar modulo cd y gestion de errores BUILT_inS
Error: Gestionar redireccionamiento vacio
El siguiente comando en bash crea o actualiza un fichero sin contenido:
> fichero.txt
Habria que hacer pruebas para ver si hay algún otro caso extraño como este e incluirlos en la validación del AST #56.
Validacion del ast antes de procesar
Segfault -> al introducir enter
Builtin_EXPORT
- Muestra por pantalla las variables de entorno -> si se pasa sin argumentos
- en BASH las variables de entorno con export se muestran con -> "declare -x" antes
- Acepta varios argumentos. -> argv[0] = export; argv[1] = NOMBRE + CONTENIDO -> si no hay "=" es TODO nombre- El "=" marca el contenido de la variable.
FLUJO:
1)Check Args
-yes -> 1)obtengo espacio de environment actual; 2) cuento; 3) malloc + 1; 4) copio contenido al nuevo espacio; 5) ft_strdup(argv[1]) y lo pego al final -> + 1 va el NULL 6) libero espacio antigual; 7) mini_data->env_custom = espacio nuevo;
- No -> imprimimos por pantalla; 1) Ordenamos variables (crear modulo auxiliar para ello); 2) Imprimimos por pantalla incluyendo delante "declare -x";
Builtin_ECHO
Modulo_EXPAND
Builtin_EXIT
Añadir mensajes de error
Modulo ast_processor
Modulo cmd_preprocessor
Builtin_UNSET
Error con comillas en preprocesado?
Gestionar errores en al ejecutar comandos
Modulo ast_builder
Crear un Makefile
Gestionar la ruta del heredoc
Builtin_ENV
Modulo de Input/Output
Builtin_CD
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.