Analizzare il JSON della CLI dosya in uno script
Conserva il codice di uscita della CLI dosya, analizza il JSON valido del comando anche in caso di errori parziali e avvia le attività dipendenti solo dopo aver verificato il successo.
Ultima revisione
Gli screenshot mostrano l’interfaccia in inglese.
Uno script wrapper affidabile conserva lo stato del processo dosya prima di eseguire jq. L’output JSON dipende dal comando e i comandi collettivi normalmente producono risultati utilizzabili per successi ed errori prima di terminare con 1 se almeno un elemento non è riuscito.

Prima di iniziare
- Usa file temporanei con permessi restrittivi per gli output che possono contenere nomi o ID.
- Mantieni
set -o pipefailquando usi una pipeline, oppure evita la pipeline affinché il parser non possa nascondere lo stato della CLI. - Scegli un’asserzione
jq -eprecisa per la risposta documentata del comando.
Procedura
- Crea file separati per stdout e stderr, poi esegui il comando con
--json; ad esempiodosya whoami --json >result.json 2>result.err. - Acquisisci subito
status=$?e classificalo senza sostituirlo con lo stato dijq. Conserva stderr insieme al risultato numerico originale. - Se stdout non è vuoto, esegui
jq -e . result.jsonanche dopo un’uscita diversa da zero. Conserva l’output valido del comando; se l’analisi non riesce, segnalalo separatamente senza perdere lo stato di dosya. - Applica un selettore specifico del comando, ad esempio l’identificativo utente richiesto da
whoamio la raccolta di elementi attesa dals. Non esiste un contenitore universale delle risposte. - Per i comandi collettivi
mv,rm, download ricorsivo, cestino, preferiti o sincronizzazione, esamina le vocifailurese il numero di successi del comando. Un’operazione parziale normalmente produce JSON valido e termina con 1. - Avvia le attività dipendenti solo se lo stato di dosya è 0 e la condizione finale specifica del comando è soddisfatta. Conserva un risultato parziale depurato per il recupero, poi elimina i file temporanei sensibili.

Risultato previsto
Il wrapper conserva la categoria di errore della CLI, estrae risultati utili da JSON valido anche con codice di uscita diverso da zero e avvia le attività dipendenti solo dopo l’uscita 0 e il superamento della condizione finale del comando.
Risoluzione dei problemi
Il file JSON è vuoto. Leggi stderr e lo stato del processo salvato; evita di segnalare jq come causa dell’errore.
Un comando collettivo termina con 1 e produce JSON valido. Conserva il numero di successi e le voci di errore, correggi o segnala ogni elemento non riuscito e considera l’attività complessiva non riuscita.
Gli avvisi interrompono l’analisi. Dovrebbero essere su stderr. Non unire i flussi e verifica che il wrapper invochi il binario CLI corrente.
Guide correlate
Ti è stata utile?
Caricamento delle valutazioni…
Quando voti, salviamo un cookie tecnico per un massimo di 180 giorni, così puoi cambiare la tua risposta.
Domande e risposte
Fai una domanda sui passaggi di questa guida. Le domande vengono revisionate prima della pubblicazione.
Non inserire dati dell’account, credenziali o file privati nelle domande pubbliche. Usa l’assistenza privata in questi casi.
Caricamento delle domande…
Accedi al tuo account dosya per fare una domanda.