`devbox run -- cmd ARG`: a newline in ARG becomes a literal \n, and a quoted $ is expanded
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 66/100
Direzione di ricerca
Start at the implementation of devbox run and trace how arguments after -- are passed to the command; the report suggests they may be joined and parsed as a shell string. Look for existing tests covering devbox run argument forwarding and run them first. Done means newline and dollar sign arguments, including quoted values, arrive unchanged.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Devbox 0.18.4, Linux (Ubuntu 24.04).
devbox run -- cmd ARG... does not pass the arguments through unchanged. It looks like the arguments are joined into one shell string and parsed again.
1. A newline in an argument becomes a literal \n.
devbox run -q -- node -e 'console.log(JSON.stringify(process.argv.slice(1)))' -- $'a\nb' "c d"
Expected: ["a\nb","c d"] (a real newline in the first argument)
Actual: ["a\\nb","c d"] (a backslash and an n)
Spaces survive, newlines do not. So a multi-line node -e or bash -c script does not parse under devbox run.
2. A $ in an argument is expanded, also when the caller quoted it.
devbox run -q -- printf '%s\n' 'a$HOME'
# expected: a$HOME
# actual: a/home/<user>
devbox run -q -- bash -c 'X=inner; echo "[$X]"'
# expected: [inner]
# actual: []
Workaround: write the script to a file and pass its path.
Expected behaviour: the arguments after -- reach the command exactly as the caller's shell gave them (as with exec "$@").
- Lingua principale
- Go
- Stelle
- 12.4k
- Fork
- 358
- Merge medio
- 17h 12m
- PR unite (30g)
- 31
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jetify-com/devbox
-
feature triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
jetify-com/devbox#3038 ·
I maintainer di solito rispondono entro 1 giorno
-
pulumi is outdatedApertabug p4 package processed triage unrelated
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
jetify-com/devbox#2898 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
p4 processed unrelated
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
jetify-com/devbox#2750 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
StorydenApertap4 package processed triage unrelated
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
jetify-com/devbox#2685 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
looks easy p4 package processed triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 60/100
jetify-com/devbox#2656 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di jetify-com/devbox
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
CycloneDX/cyclonedx-go#304 ·
-
[Bug]: snowflake_share fails to read a share attached to a listing with target accounts ('TARGETED ACCOUNTS' in the "to" column)Forse già presa @akhil9tiet l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
snowflakedb/terraform-provider-snowflake#5366 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
txn2/mcp-data-platform#2493 ·
I maintainer di solito rispondono entro 1 giorno
-
fix(doctor): format MongoDB URI and UNIX socket addresses correctly in doctor diagnostic outputApertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
oscarbol09/branchbase#178 ·
I maintainer di solito rispondono entro 4 giorni