Missing -e argument exits with status 1 instead of 2
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia dal percorso dell'errore di argomento che emette error: a value is required for '--regexp <PATTERNS>' but none was supplied. L'issue non identifica il file sorgente, quindi individua prima il relativo parser e il gestore condiviso degli errori di argomento. Aggiungi un test di regressione che invochi la CLI compilata con -e e senza alcun valore, attendendo lo stato 2 e preservando il messaggio diagnostico. Quindi esegui cargo build --locked -j 2 e il test CLI mirato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Environment
- Tested main commit: 01fb6c3abc2572758b42f9de21ed7f582f536424
- Ubuntu 24.04.4 on WSL2; Linux 6.18.54.1-microsoft-standard-WSL2
- GNU grep 3.11 for comparison
- Unmodified source built with
cargo build --locked -j 2, rustc 1.97.1
Reproduction
From the source directory:
./target/debug/grep -e </dev/null
echo "$?"
# Actual: 1
/usr/bin/grep -e </dev/null
echo "$?"
# GNU grep: 2
uutils grep prints:
error: a value is required for '--regexp <PATTERNS>' but none was supplied
For more information, try '--help'.
Expected: status 2 for this invocation error. Status 1 is also used for no matches, so callers cannot distinguish these outcomes by exit status.
The automated comparison supplied x\n on stdin and observed these missing-argument exit statuses. Help/version returned 0, and ordinary matching/non-matching cases returned 0/1 in both implementations.
Possible direction
Could we preserve the diagnostics while ensuring this argument error returns 2? Would you prefer a grep-local change or an adjustment to the shared argument-error handling interface? I would like to discuss the approach before preparing a focused patch and regression test.
I searched existing issues and PRs and did not find a direct duplicate.
Disclosure: AI assistance was used to prepare this report and run the targeted comparison. This is not full test-suite or cross-platform validation.
- Lingua principale
- Rust
- Stelle
- 133
- Fork
- 25
- Merge medio
- 19h 49m
- PR unite (30g)
- 11
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 uutils/grep
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Default terminal output delays matching lines while stdin remains openForse già presa @zengfanfan l’ha presa 1 giorno fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
uutils/grep#145 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
grep: context output omits group separators between filesForse già presa @SichenLiang l’ha presa 20 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Dependency DashboardAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
git-ai-project/git-ai#2434 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
peteonrails/voxtype#909 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
kucherenko/jscpd#1239 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
alchemyplatform/rundler#1358 ·
I maintainer di solito rispondono entro 3 giorni