Utente:Salvatore Ingala/scripts/Commandline/Manuale completo

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Work in progress.

Questa pagina contiene la documentazione completa della Commandline, per gli usi avanzati.

Sintassi generale[modifica | modifica wikitesto]

I comandi della commandline hanno il seguente formato:

comando#parametro1#parametro2#...#parametro_n

Il numero di parametri è fisso per ogni comando. Alcuni comandi (pochi, per ora) supportano anche dei modificatori che si possono aggiungere al comando:

comando/modificatore1/modificatore2/...#parametro1#...

È possibile concatenare più comandi, usando, come al solito, # come separatore.

Chiamerò tutto il contenuto compreso tra due caratteri # con il termine blocco. Un blocco può quindi essere indifferentemente un comando o un parametro.

Le variabili ed il processore[modifica | modifica wikitesto]

La commandline può salvare delle variabili e utilizzarne il valore in qualsiasi momento.

Alcune variabili sono già predefinite, mentre si può impostarne di nuove con il comando setvar

Per richiamare il valore di una variabile di nome foo, si usa $$foo. Il processing avviene implicitamente solo una volta (contemporaneamente su tutta la riga) al momento dell'inizio dell'esecuzione, in genere quando si batte invio dopo aver digitato un comando (o una serie di comandi) nella commandline (più avanti sarà descritta un'altra possibile modalità). Tuttavia è possibile forzare in qualunque momento una ulteriore fase di processing, con diversi modi:

Se ci sono più di 2 caratteri $, allora il processing si limita a toglierne uno. Ciò consente di ritardare l'effettiva sostituzione del valore della variabile.

Le variabili predefinite[modifica | modifica wikitesto]

Sono state inserite alcune variabili predefinite di comune utilizzo:

  • title = titolo della pagina (con "_" al posto di " "... buono per i link)
  • plaintitle = titolo pulito della pagina (con gli spazi al posto giusto... utile per visualizzare il nome di una pagina in un "formato pulito")
  • currentyear = anno corrente
  • currentmonthname = nome del mese corrente
  • currentmonth = numero del mese corrente (iniziando da 1 per gennaio)
  • currentday = numero del giorno corrente

Il processore[modifica | modifica wikitesto]

La fase di processing (essenziale, ad esempio, per usare le variabili) avviene esplicitamente solo prima dell'esecuzione di una riga di comando. I comandi process e processn permettono di processare tutta (o una parte de-) la restante sequenza di comandi. Più comunemente, si può utilizzare il carattere speciale @ che, se è il primo carattere di un blocco, segnala all'interprete che si richiede il processing del singolo blocco. Ad esempio:

setvar#Test#ciao!#alert#@$$$Test

Quando eseguita, questa riga mostra sullo schermo il messaggio "ciao!". Invece:

setvar#Test#ciao!#alert#$$$Test

mostra "$$Test", perché il processing avviene una sola volta, modificando "$$$Test" in "$$Test". Il processore è essenziale per gli script più complessi.

Modalità sicura e modalità insicura[modifica | modifica wikitesto]

Vi sono due modalità di esecuzione della commandline; quella utilizzata dipende dalla modalità di avviamento della commandline.

La modalità più comune è la modalità insicura (unsafe mode): in questa modalità, non c'è alcuna restrizione sui comandi che possono essere eseguiti dalla commandline.

Nella modalità sicura (safe mode), si possono eseguire solo tutti quei comandi che non consentono assolutamente di effettuare operazioni di salvataggio. Si può considerare anche come una modalità ristretta.

È possibile effettuare il passaggio dalla safe mode alla unsafe mode con il comando unsafe, previo consenso dell'utente.

Avviamento[modifica | modifica wikitesto]

Vi sono diversi modi con cui si può far partire la commandline.

Avviamento manuale[modifica | modifica wikitesto]

La modalità manuale (comune, ad esempio, durante il Patrolling consiste nella pressione della combinazione di tasti Alt+z (o un'altra combinazione scelta dall'utente, se tale impostazione è stata modificata). È anche possibile avviare la commandline cliccando sull'apposito link nel portlet "strumenti", ma è sconsigliato per ovvi motivi di scomodità.

Se avviata in questo modo, la commandline parte in unsafe mode, dal momento che è l'utente ad eseguire esplicitamente il comando, per cui si può concedere fiducia.

Avviamento tramite URL[modifica | modifica wikitesto]

Se nell'URL sono presenti i parametri "fakeaction=runcommand" e "command=comando", la commandline esegue il comando richiesto in safe mode. Questa è una misura di sicurezza necessaria, perché è probabile che un link contenente un comando venga eseguito senza conoscerne l'effettivo funzionamento. Un vandalo potrebbe quindi creare un link apposito per portare un altro utente a vandalizzare senza saperlo.

Avviamento via Cookie[modifica | modifica wikitesto]

Questa modalità è utilizzata internamente per eseguire comandi complessi che richiedono, ad esempio, lo spostamento ad altre pagine. Viene conservata la modalità (safe o unsafe) precedente allo spostamento.

Lista dei comandi[modifica | modifica wikitesto]

Comandi per il patrolling[modifica | modifica wikitesto]

a[modifica | modifica wikitesto]

  • param motivo
  • param argomento

Aggiunge il Template:A (da aiutare) all'inizio della voce; richiede motivo e argomento; supporta il completamento automatico per l'argomento.

c[modifica | modifica wikitesto]

  • param motivo
  • param argomento

Aggiunge il Template:C (da controllare) all'inizio della voce; richiede motivo e argomento; supporta il completamento automatico per l'argomento.

e[modifica | modifica wikitesto]

  • param motivo
  • param argomento

Aggiunge il Template:E (enciclopedicità dubbia) all'inizio della voce; richiede motivo e argomento; supporta il completamento automatico per l'argomento.

p[modifica | modifica wikitesto]

  • param motivo
  • param argomento

Aggiunge il Template:P (voce non neutrale) all'inizio della voce; richiede motivo e argomento; supporta il completamento automatico per l'argomento.

w[modifica | modifica wikitesto]

  • param argomento

Aggiunge il Template:W (da wikificare) all'inizio della voce; richiede argomento; supporta il completamento automatico per l'argomento.

s[modifica | modifica wikitesto]

  • param argomento

Aggiunge il Template:S (stub) all'inizio della voce; l'argomento; è possibile inserire due argomenti separandoli con il carattere | (pipe), ad esempio: stub#matematica|fisica; supporta il completamento automatico per l'argomento (o gli argomenti).

t[modifica | modifica wikitesto]

  • param lingua
  • param argomento

Aggiunge il Template:T (da tradurre) all'inizio della voce; richiede lingua e argomento; supporta il completamento automatico per la lingua (almeno le lingue principali).

o[modifica | modifica wikitesto]

  • param argomento

Aggiunge il Template:O (pagine orfana) all'inizio della voce; richiede argomento; supporta il completamento automatico per l'argomento.

categorizzare[modifica | modifica wikitesto]

Aggiunge il Template:Categorizzare in fondo alla voce corrente.

unire[modifica | modifica wikitesto]

  • param voce

Aggiunge il [[Template:Da unire]] all'inizio della voce; richiede il nome della voce simile.

benvenuto[modifica | modifica wikitesto]

Aggiunge un messaggio di benvenuto predefinito.

Comandi di editing[modifica | modifica wikitesto]

fixformat[modifica | modifica wikitesto]

replace[modifica | modifica wikitesto]

insertbefore[modifica | modifica wikitesto]

insertafter[modifica | modifica wikitesto]

Comandi di interazione[modifica | modifica wikitesto]

save[modifica | modifica wikitesto]

preview[modifica | modifica wikitesto]

diff[modifica | modifica wikitesto]

purge[modifica | modifica wikitesto]

goto[modifica | modifica wikitesto]

setsummary[modifica | modifica wikitesto]

setminor[modifica | modifica wikitesto]

prompt[modifica | modifica wikitesto]

alert[modifica | modifica wikitesto]

Altri[modifica | modifica wikitesto]

eval[modifica | modifica wikitesto]

evalvar[modifica | modifica wikitesto]

setvar[modifica | modifica wikitesto]

process[modifica | modifica wikitesto]

processn[modifica | modifica wikitesto]

skip[modifica | modifica wikitesto]

label[modifica | modifica wikitesto]

jump[modifica | modifica wikitesto]

ifvoidpage[modifica | modifica wikitesto]

iftrue[modifica | modifica wikitesto]

stop[modifica | modifica wikitesto]

nop[modifica | modifica wikitesto]

sleep[modifica | modifica wikitesto]

grep[modifica | modifica wikitesto]

uniq[modifica | modifica wikitesto]

unsafe[modifica | modifica wikitesto]