Shell constructs that still do not parse after beta.17 (48 recorded Netclaw commands)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 38/100
Piste de recherche
Start by locating the parser entry point and reproducing the relevant rows from the Netclaw corpus. The issue identifies a redirect after done and ${x:-literal} / ${x%/} as the cheapest candidates, while warning that the redirect needs a planned public API. Done means the selected constructs parse correctly without changing the intentional fail-closed behavior for assignments or exports of PATH, TMPDIR, HOME, or LC_ALL.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Netclaw keeps a corpus of real shell commands that it recorded from live sessions. Netclaw uses the corpus to test shell approval. A row is one entry in the corpus.
After ShellSyntaxTree 0.4.0-beta.17, 48 corpus rows (6,912 calls) still do not parse. These rows are candidates for a later release.
Rows by cause
- 9 rows: a redirect after a compound command (
done 2>/dev/null | head). This needs a planned public API. Otherwise a new property could hide write targets from consumers that do not know it. - 9 rows: arithmetic
$((…)). Bash can run code through an array subscript, so this needs its own bounded grammar. - 8 rows: complex parameter expansion (
${d%/},${x:-y}).${x:-literal}and${x%/}are the likely first candidates. - 3 rows: process substitution
<(…). This needs a new occurrence role or region. - 4 rows, one cause each: a function definition, reserved execution syntax,
bash -c 'set -e …', and an unbalanced quote. - 15 rows: assignment or export of
PATH,TMPDIR,HOME, orLC_ALL. These fail closed on purpose. Keep them that way.
Status
Backlog. The cheapest wins are the redirect after done and the two common expansions.
- Langage dominant
- C#
- Étoiles
- 15
- Forks
- 0
- Merge moyen
- 9 h 8 min
- PR mergées (30 j)
- 46
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Aaronontheweb/ShellSyntaxTree
-
Bash: an assignment in a loop body that reads the loop variable is not listed on later commandsOuvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
Aaronontheweb/ShellSyntaxTree#249 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 57/100
Aaronontheweb/ShellSyntaxTree#244 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
Aaronontheweb/ShellSyntaxTree#236 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
Aaronontheweb/ShellSyntaxTree#235 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Aaronontheweb/ShellSyntaxTree#190 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Aaronontheweb/ShellSyntaxTree
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
microsoft/fluentui-blazor#5410 ·
Les mainteneurs répondent en général sous 1 jour
-
Bug pulumi/pulumi
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
activescott/lessmsi#306 ·
-
Docs MSBuild
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
getsentry/sentry-dotnet#5691 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour