Giter Site home page Giter Site logo

42_minishell's People

Contributors

aitorfi avatar alvicina avatar

Watchers

 avatar

42_minishell's Issues

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_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

Screen Shot 2024-01-30 at 4 38 33 PM

Aitor me he fijado que cuando introducimos exi (sin la t) en el terminal, estamos ejecutando exit. Crees que se pueda deber al builtin?

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.

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.

Builtin_EXPORT

  1. Muestra por pantalla las variables de entorno -> si se pasa sin argumentos
  2. en BASH las variables de entorno con export se muestran con -> "declare -x" antes
  3. 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";

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.