Feature: Actually explain shell constructs
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
El issue no menciona archivos, pruebas ni puntos de entrada. Empieza por localizar la ruta existente para explicar las flags y los argumentos de la línea de comandos, y después define qué construcciones de shell y variantes de shell están incluidas en el alcance; se considera terminado cuando las construcciones compatibles se explican con distinciones correctas entre las semánticas de shell.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hello @idank and thank you so much for making such a useful project!
One of its limitations is that, currently, it supports explaining command-line flags and arguments, from various things which have man-pages.
It does NOT support explaining basic shell contracts, let alone complicated shell constructs -- and is not opinionated on WHICH shell is being explained (sh/bash/dash/ksh/csh/zsh/etc.).
It would be nice to be able to paste in something like this:
if (( VARIABLE )); then
To inform me that the condition is taken IFF the variable $VARIABLE has been set.
This is distinct from e.g.
if [ -n "$VARIABLE" ]; then
Which takes the "true" condition only when $VARIABLE is defined AND has a nonzero content.
A similar shell construct might be
if [ -v VARIABLE ]; then
Which is identical to the first -- the -v flag returns true if its argument (VARIABLE) is a shell variable that is set at all --even if it's empty.
Do you have any plans to support something like this?
A stretch goal would be to support complicated shell expansion, e.g.
for k v in "${(@kv)zsh_associative_array}"; do
Which iterates over an associative array (in zsh, and possibly ksh) where k and v are set to the key and value of each entry.
- Lenguaje dominante
- Python
- Estrellas
- 14.3k
- Forks
- 851
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de idank/explainshell
-
`test -s` shows all optionsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
idank/explainshell#367 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
idank/explainshell#368 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
idank/explainshell#365 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
idank/explainshell#354 · 2 comentarios · 4 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
idank/explainshell#343 ·
Todos los issues de idank/explainshell
Issues similares
-
bug server
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sportsdataverse/sportsdataverse-py#641 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
googleapis/google-cloud-python#18532 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día