ForHosting KIT · Strumenti per sviluppatori

Analizzi gli argomenti CLI mediante una specifica

Dichiari gli interruttori e le opzioni che il suo programma accetta e la riga di comando viene ordinata: --tag=stable --tag latest diventa i due tag stable e latest, src.js resta un argomento libero e --mystery viene segnalato come sconosciuto. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.

Trasformi un elenco grezzo di argomenti della riga di comando in un oggetto prevedibile, senza distribuire le regole di analisi in tutta l’applicazione. Fornisca gli elementi e una specifica compatta che definisca ogni flag booleano e ogni opzione che richiede un valore. Specifiche errate, argomenti ripetuti e opzioni prive del valore obbligatorio generano errori di input chiari.

Descriva l’interfaccia a riga di comando come dati

Parta dagli elementi esattamente come vengono forniti dall’ambiente di esecuzione, dopo aver escluso i nomi dell’eseguibile e dello script. Definisca quindi ogni argomento accettato nella specifica. Usi flag per un interruttore la cui presenza indica vero, per esempio <code>--verbose</code>.

Usi option quando la forma deve essere seguita da un valore, come <code>--output result.json</code>. I nomi canonici contengono lettere minuscole, cifre e trattini bassi, così l’oggetto restituito è utilizzabile senza un’ulteriore rinomina. Imposti <code>multiple</code> solo quando l’interfaccia prevede la ripetizione; i valori vengono allora restituiti nell’ordine di incontro.

Comprenda l’analisi degli elementi e l’output

L’output separa valori riconosciuti, elementi posizionali e flag sconosciuti. I flag riconosciuti diventano veri sotto il rispettivo nome canonico, mentre le opzioni memorizzano l’elemento successivo. Un’opzione lunga può anche includere il valore nello stesso elemento, come <code>--format=json</code>.

Gli altri elementi sconosciuti diventano valori posizionali. Un <code>--</code> isolato termina l’elaborazione delle opzioni e ogni elemento successivo diventa posizionale, anche se inizia con un trattino. Questa convenzione rende inequivocabili nomi come <code>-draft.txt</code>.

L’analizzatore non crea valori predefiniti e non converte stringhe in numeri, poiché tali criteri spettano all’applicazione e potrebbero nascondere errori. Il risultato è deterministico e conserva l’ordine.

Gestisca con sicurezza valori mancanti e ripetizioni

La stessa regola vale per una forma allegata vuota come <code>--output=</code>. Questo comportamento rigoroso impedisce che un flag successivo venga consumato silenziosamente come dato e affronta direttamente uno degli errori più dannosi nell’analisi dei comandi. Un trattino isolato può comunque essere usato come valore, utile per i programmi che rappresentano l’input o l’output standard con <code>-</code>.

Per impostazione predefinita, anche la ripetizione di un argomento riconosciuto causa un errore. Dichiari <code>multiple: true</code> quando la ripetizione è valida, per esempio per più percorsi di inclusione o etichette; il nome canonico conterrà sempre un elenco. I flag sconosciuti vengono segnalati senza causare un errore, lasciando a Lei la gestione della compatibilità e dell’inoltro.

Convalidi un wrapper CLI

Analizzi le opzioni proprie del wrapper e segnali i flag non supportati prima di avviare il processo racchiuso.

Quanto costa?

La versione nel browser esegue localmente la stessa logica deterministica.

È supportata la sintassi --name=value?

Sì, per le opzioni lunghe che richiedono un valore. Un valore vuoto dopo il segno di uguale causa un errore.

Cosa accade dopo due trattini isolati?

L’analisi delle opzioni termina e tutti gli elementi rimanenti vengono restituiti come argomenti posizionali.

-o e --output possono riempire la stessa opzione?

Sì. Dichiari entrambe le grafie sotto un unico nome e ciascuna vi salva il proprio valore, quindi forma breve e forma lunga danno lo stesso risultato. Due opzioni con la stessa grafia vengono rifiutate, perché l’esito dipenderebbe dall’ordine di dichiarazione.

Cosa succede se a un’opzione manca il valore?

La lettura si ferma con un errore chiaro che indica la grafia colpevole. Accade quando l’opzione è l’ultima parola, precede il doppio trattino o è seguita da un altro flag, così un interruttore successivo non viene mai preso come dato.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/dev2/cli-arg-parse-spec

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/dev2/cli-arg-parse-spec \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"args":["--verbose","--output=result.json","input.txt"],"spec":[{"name":"verbose","aliases":["--verbose","-v"],"kind":"flag"},{"name":"output","aliases":["--output","-o"],"kind":"option"}]}'
{
  "args": [
    "--verbose",
    "--output=result.json",
    "input.txt"
  ],
  "spec": [
    {
      "name": "verbose",
      "aliases": [
        "--verbose",
        "-v"
      ],
      "kind": "flag"
    },
    {
      "name": "output",
      "aliases": [
        "--output",
        "-o"
      ],
      "kind": "option"
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.cli_arg_parse_spec",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

L’analizzatore associa gli alias ai nomi canonici, conserva gli argomenti posizionali, identifica i flag sconosciuti, accetta le opzioni lunghe con il segno di uguale e interrompe l’interpretazione dopo il separatore convenzionale con due trattini.

Descriva l’interfaccia a riga di comando come dati

Ciascuna voce contiene un nome canonico, uno o più alias e un tipo. Gli alias consentono alle forme breve e lunga di valorizzare la stessa proprietà: <code>-o</code> e <code>--output</code> possono quindi produrre <code>output</code>. Gli alias devono iniziare con uno o due trattini. L’analizzatore rifiuta nomi canonici e alias duplicati, perché tali collisioni renderebbero il risultato dipendente dall’ordine delle dichiarazioni.

Comprenda l’analisi degli elementi e l’output

La corrispondenza è esatta: i gruppi brevi come <code>-abc</code> non vengono espansi, a meno che l’intera forma sia dichiarata come alias. Ogni elemento sconosciuto che inizia con un trattino viene aggiunto a <code>unknown_flags</code>, permettendoLe di rifiutarlo, mostrare un avviso o inoltrarlo intenzionalmente.

Gestisca con sicurezza valori mancanti e ripetizioni

Ogni voce di tipo option richiede un valore non vuoto ogni volta che compare uno dei suoi alias. Se l’alias è l’ultimo elemento, precede il marcatore di fine opzioni oppure è seguito da un altro elemento che assomiglia a un flag, l’analisi termina con un errore di input che nomina l’alias responsabile.

Normalizzi le opzioni brevi e lunghe

Associ alias come -o e --output a un’unica proprietà stabile per semplificare la logica dell’applicazione.

Crei anteprime e test dei comandi

Converta elenchi di elementi in fixture strutturate e deterministiche senza eseguire comandi né accedere a una shell.

I flag sconosciuti vengono rifiutati?

No. Vengono restituiti in unknown_flags affinché Lei possa rifiutarli, segnalarli o inoltrarli.

Vengono combinati flag brevi come -abc?

No. Gli alias corrispondono a elementi interi; -abc è riconosciuto solo se la specifica dichiara esattamente tale alias.

Leggi la documentazione completa del KIT →