# Minishell - Checklist de pruebas manuales Ejecuta en `minishell-codex/`: - `make` - `./minishell` ## 1. Prompt y salida - Iniciar y salir con `ctrl-D`. - `exit` debe cerrar el shell con el ultimo status. ## 2. Comandos simples - `ls` - `pwd` - `echo hola` ## 3. Builtins - `echo -n hola` (sin salto de linea) - `cd /` luego `pwd` - `export TEST=42` luego `env | grep TEST` - `unset TEST` luego `env | grep TEST` (no debe aparecer) - `env` sin argumentos - `exit 2` ## 4. Expansion - `echo $HOME` - `echo $?` despues de un comando que falle (ej: `ls noexiste`) - `echo '$HOME'` (no expande) - `echo "$HOME"` (si expande) ## 5. Pipes - `ls | wc -l` - `echo hola | cat` - `cat /etc/passwd | grep root | wc -l` ## 6. Redirecciones - `echo hola > out.txt` y luego `cat out.txt` - `echo 1 >> out.txt` y luego `cat out.txt` - `cat < out.txt` ## 7. Heredoc - `cat << EOF` - escribir varias lineas - `EOF` - Ver que se imprime todo lo escrito. ## 8. Comillas - `echo "a b c"` (una sola palabra) - `echo 'a b c'` (una sola palabra) - `echo "a 'b' c"` ## 9. Errores de parseo - `| ls` (no debe ejecutar) - `echo hola >` (error) - `echo "hola` (comillas sin cerrar) ## 10. Senales - `ctrl-C` en prompt: debe limpiar linea y mostrar prompt nuevo. - `sleep 5` y `ctrl-C`: debe interrumpir el proceso. - `ctrl-\` no debe imprimir nada en prompt interactivo.