Comandi Speciali e Variabili Globali Integrate
SamueleKaplun
kaplun@aliceposta.it
Traduzione del documento
Comandi Speciali e Variabili Globali Integrate I comandi speciali sono funzioni che vengono processate da &kommander;. Sappi che fino a quando &kommander; non avrà un parser completo tutti i comandi speciali saranno eseguiti prima che venga eseguito lo script. In molti casi questo non è un problema, ma talvolta sì. @dcop(appId, oggetto, funzione, argomenti) Esegue una chiamata a &DCOP;. @dcop(kmail, KMailIface, checkMail(), ) @dcopid L'id &DCOP; del processo (kmdr-executor-@pid) @dialog(finestra_di_dialogo[,parametri]) Richiama la finestra di dialogo di Kommander specificata. Le finestre di dialogo sono ricercate nella cartella delle finestre di dialogo e nella cartella corrente - in quest'ordine. Ciò mette in sospeso la chiamata all'esecutore ed imposta la cartella predefinita a quella in cui si trova l'applicazione di Kommander. I parametri possono essere passati nell'usuale maniera Unix o puoi passare dei parametri per nome come in variabile=valore. Puoi infine recuperare i parametri passati nell'ambiente globale. @global(variabile) ritornerebbe valore. @env(variabileDiAmbiente) Viene espanso alla variabile d'ambiente specificata. @env(PWD) viene espanso a $PWD. Ricorda che $ è parte della sintassi shell e non dovrebbe essere utilizzato. @exec(comando) restituisce l'output dell'esecuzione del comando specificato. @exec(ls -l). @execBegin ... @execEnd come in @exec, ma supporta gli script shebang (cioè che cominciano, ad esempio, con #!/bin/sh) e su più righe. Questo è utile in diversi linguaggi di scripting sia dichiarandoli o utilizzando una shebang. @execBegin(php) @execBegin#!/usr/bin/php Il primo utilizza il nome dell'eseguibile PHP. &kommander; cerca nel PATH php e se non lo trova verifica se è registrato con &kommander; in una posizione al di fuori del tuo path. Se non è così notifica all'utente che non può essere trovato. Il secondo esempio utilizza la classica shebang che può portare sia benefici che alcuni problemi. È utile ad esempio, se possiedi una copia beta di PHP5 in /usr/local/bin che non deve essere trovata perché il percorso di ricerca è /usr/bin. Se, però, distribuisce la finestra di dialogo a qualcuno che ha messo PHP in /usr/local/bin questo non verrà trovato quando verrà usata la shebang. Perciò utilizzate le shebang con cautela. È invece raccomandato indicare l'eseguibile se condividete i file. @global(variabile) viene espanso nel valore della variabile globale specificata. @null Restituisce null. Ora che Kommander verifica i widget vuoti durante l'esecuzione questo comando preverrà la segnalazione errata di errori nel caso della non impostazione dello stato di un widget. @parentPid Il &PID; del processo genitore. @pid Il &PID; del processo. @readSetting(chiave, valorePredefinito) legge un valore da kommanderrc @selectedWidgetText il contenuto selezionato di un widget che può visualizzare più di un valore, come i widget lista @setGlobal(variabile, valore) Imposta la variabile globale al valore specificato. @widgetText il contenuto di un widget @writeSetting(chiave, valore) scrive il valore in kommanderrc Gruppo delle Funzioni per Array @Array.values(array) Restituisce una lista separata da EOL di tutti i valori contenuti nell'array. Può essere utilizzato per scorrere attraverso l'array. @Array.keys(array) Restituisce un elenco separato da fine riga (EOL) di tutte le chiavi del vettore. @Array.setValue(array, chiave, valore) Imposta una chiave ed un valore per un elemento di un array. Se l'array non esiste, viene creato. @Array.clear(array) Rimuove tutti gli elementi dal vettore. @Array.count(array) Restituisce il numero di elementi nel vettore. @Array.value(array,chiave) Restituisce il valore associato alla chiave indicata. @Array.remove(array,chiave) Rimuove l'elemento con la chiave indicata dall'array. @Array.fromString(array,stringa) Aggiunge tutti gli elementi nella stringa nell'array. La stringa dovrebbe essere nel formato chiave\tvalore\n." @Array.toString(array,stringa) Restituisce tutti gli elementi nell'array nel formato chiave\t\n." Gruppo di Funzioni per File @File.read(file) Restituisce il contenuto del file indicato. @File.write(filestringa) Scrive la stringa data su un file. @File.append(filestringa) Aggiunge la stringa data alla fine del file. Gruppo di Funzioni per Stringhe @String.length(stringa) Restituisce il numero di caratteri nella stringa. @String.contains(stringa,sottostringa) Controlla se la stringa contiene la sottostringa data. @String.find(stringa) Restituisce la posizione di una sottostringa nella stringa, o -1 se non trovata." Questo comando avrà un altro parametro intero opzionale indicante la posizione iniziale da cui cercare nella versione Alpha 6. @String.left(stringa, int) Restituisce i primi n caratteri della stringa. @String.right(stringa, int) Restituisce gli ultimi n caratteri della stringa. @String.mid(stringa, int inizio, int fine) Restituisce una sottostringa della stringa, iniziando dalla posizione data. @String.remove(stringa, sottostringa) Rimuove tutte le occorrenze di una data sottostringa. @String.replace(stringa, sottostringa_trova, sottostringa_sostituisci) Sostituisce tutte le occorrenze di una data sottostringa con un'altra fornita. @String.upper(stringa) Converte la stringa in maiuscolo. @String.lower(stringa) Converte la stringa in minuscolo. @String.compare(stringa, stringa) Confronta due stringhe. Restituisce 0 se sono uguali, -1 se la prima è più bassa, 1 se la prima è più alta @String.isEmpty(stringa) Controlla se la stringa è vuota. @String.isNumber(stringa) Controlla se la stringa è un numero valido. Variabili Globali Integrate L'accesso alle variabili globali integrate è analogo alle variabili globali regolari con @global. @global(_KDDIR) La cartella in cui si trova la finestra di dialogo corrente. @global(_NAME) Il nome della finestra di dialogo