BASH. Breve introduzione alla programmazione della shell
|
|
|
- Fiora Montanari
- 10 anni fa
- Просмотров:
Транскрипт
1 1 di 12 BASH Breve introduzione alla programmazione della shell La shell, oltre ad essere una comoda interfaccia per il sistema, è un potente linguaggio di scripting. Le sequenze di comandi possono infatti essere salvate in un file e successivamente richiamate come comandi. Il presente cumento è un estratto delle innumerevoli funzioni della shell BASH, a titolo di introduzione alla programmazione ed all uso. Per una trattazione completa si veda il manuale GNU. ogni osservazione o correzione è benvenuta (matteo chiocciola matteolucarelli punto net) Importante: lo shell-scripting, come molti altri linguaggi di script, è case-sensitive (cioè distingue tra maiuscole e minuscole) e NON IGNORA I BLANK, attenzione quindi a spazi, tab, return, ecc. Indice Formato del file di programma Il segno $ e le variabili Altri caratteri speciali Raggruppamento dei comandi Parametri posizionali Definizione di funzioni esempi Principali variabili predefinite Altre variabili automatiche Principali comandi interni Principali comandi esterni Controllo dei jobs e dei processi Test Cicli e strutture condizionali esempi Pattern Matching esempi Particolari espansioni esempi Stringhe esempi Aritmetica esempi Array Trucchi e consigli Formato del file di programma Un programma per shell è un semplice file di testo (eventualmente con estensione.sh). E utilizzabile come un qualsiasi altro coman se reso eseguibile chmod 755./mioscript./mioscript Altrimenti può venire invocato passanlo come argomento alla shell (in tal caso non deve necessariamente essere eseguibile). sh mioscript La prima riga deve contenere il percorso dell interprete, quindi ogni script inizierà con la dicitura: #!/bin/sh Alcuni Unix richieno anche uno spazio po il "!".
2 2 di 12 Il segno $ e le variabili Il segno "$" fa sì che il valore seguente venga "espanso" (valutato). Per le variabili questo significa che al momento dell assegnazione utilizzeremo il solo nome mentre al momento dell utilizzo vremo far precedere il nome dal segno di llaro. La valutazione delle variabili avviene anche nelle stringhe tra virgolette. L espansione ha molti altri effetti, che si apprenderanno gradualmente. VALORE=3 echo $VALORE Va notato che le variabili di shell non richieno dichiarazione di tipo. Ad una stessa variabile è possibile assegnare successivamente valori di ogni tipo (numerico, stringa, ecc). E quindi possibile realizzare array misti. Nei nomi delle variabili sono ammessi tutti i caratteri alfanumerici e l underscore. Il primo carattere deve essere alfabetico. Per convenzione si utilizzano normalmente caratteri maiuscoli. Per evitare ambiguità la variabile può essere delimitata dalle parentesi graffe VALORE=3 echo ${VALORE}alpha NOTA: Non vanno lasciati spazi intorno al segno "=" di un assegnamento. Altri caratteri speciali \ (backslash) Carattere di escape, serve ad fare in mo che il carattere seguente non venga considerato come speciale. es: \$ è il cattere llaro (mentre il solo $ è il carattere speciale già visto). Posto come ultimo carattere di una linea serve a continuare il coman sulla linea successiva (deve essere l ultimo, quindi attenzione ai blank!) # (cancelletto) ad inizio riga identifica i commenti (la linea viene ignorata) ; (puntoevirgola) separa più comandi sulla stessa riga (sostituisce il return) es: for F in *; echo $F; (pipe) l output del primo coman va in input al secon es: ls -l grep.txt > (maggiore) lo standard output del coman viene scritto su un file (redirezione) es: ls -l > ls.txt 2> lo standard error del coman viene scritto su un file 2>&1 lo standard error del coman viene redirezionato sullo standard output (è possibile anche il contrario) &> standard output e standard error vengono scritti su file es: kwrite &> /dev/null < (minore) l input del coman viene letto da file && (and logico) il secon coman viene eseguito solo se il primo ritorna valore zero (cioè, per convenzione, se ha successo). Ha funzione di AND logico. (or logico) il secon coman viene eseguito solo se il primo ritorna valore non zero. Ha funzione di OR logico. & (ecommerciale) utilizzato in fon ad un coman lo invoca in background, cioè in mo asincrono (l esecuzione continua senza attendere la fine del coman) (apice inverso) Un coman messo tra apici inversi viene eseguito e gli viene sostituito il suo output ( l apice inverso si ottiene sulla tastiera italiana premen AltGr+ ) coman equivale quindi a a $(coman) La seconda forma, oltre ad essere più leggibile, permette l annidamento, ed è quindi preferibile.
3 3 di 12 Raggruppamento dei comandi I comandi possono essere raggruppati tramite le parentesi tonde () o tramite le parentesi graffe {}. I comandi raggruppati sono eseguiti come se fossero un singolo coman (quindi, ad esempio possono essere redirezionati in blocco). Il raggruppamento nelle parentesi tonde fa si che i comandi vengano eseguiti da una nuova shell figlia (subshell). Nota: le parentesi graffe si ottengono dalla tastiera italiana premen AltGr+7 e AltGr+0. Parametri posizionali I parametri posizionali sono gli argomenti passati allo script o alla funzione al momento della chiamata. Quindi se lo script "ordina.sh" viene chiamato: ordina.sh /home/user/cumenti All interno dello script il primo parametro posizionale ($0) varrà "ordina.sh" il secon ($1) varrà "home/user/cumenti". $n : n-esimo parametro posizionale ($0,$1,..) $* : lista dei parametri posizionali in un unica stringa $@ : lista dei parametri posizionali come array di stringhe $# : numero dei parametri posizionali Definizione di funzioni All interno di uno script possono essere definite delle funzioni tramite una sintassi analoga al linguaggio C: [ function ] name () { command-list; } Gli argomenti della chiamata saranno i parametri posizionali all interno della funzione. Non vanno quindi specificati nella definizione della funzione, e il loro numero può essere variabile. Le variabili all interno della funzione hanno scope locale (cioè non sono definite all esterno). ES: tipica verifica di inzio script: se non sono presenti due parametri, oppure i due parametri non sono quelli previsti, stampa una breve nota di utilizzo ed esce. print_usage() { echo "Questo script va chiamato con 2 parametri" echo "Che possono essere \"-c path\"" echo " oppure \"-l path\"" } [ $#!= 2 ] && print_usage && exit 1 [ $1!= "-l" ] && [ $1!= "-c" ] && print_usage && exit 2 Principali variabili predefinite GROUPS : elenco dei gruppi dell utente corrente HOME : home dell utente corrente HOSTNAME,HOSTTYPE : nome e tipo macchina IFS : lista dei caratteri separatori utilizzati OLDPWD : directory precedente PATH : percorsi di ricerca comandi PPID : pid del processo padre PS1 : prompt PWD : directory corrente RANDOM : numero casuale (tra 0 e 32767)
4 4 di 12 UID : id dell utente corrente Altre variabili automatiche $? : valore di ritorno dell ultimo processo eseguito NOTA: tutti i comandi vrebbero evere un valore di ritorno, ed in particolare, secon lo standard POSIX, valore 0 significa "nessun errore" $$ : PID (id del processo) della shell corrente $! : PID dell ultimo processo lanciato in background Principali comandi interni I comandi che seguono sono un estratto dei comandi built-in della shell. Per ottenere maggiori informazioni utilizzare man bash. alias unalias [name[=value]...] assegna un alias, cioè la sostituzione di un coman. eseguito senza argomenti elenca gli alias definiti. es: alias ls="ls -l" assegna di default il flag -l al coman ls. break Interrompe (conclude) un ciclo. cd [dir -] Cambia la directory corrente (quella di riferimento per i successivi percorsi relativi). Senza argomenti porta alla HOME, con "-" porta alla directory precedente. continue All interno di un ciclo passa all iterazione successiva. declare [-a] [name[=value]] serve a dichiarare una variabile. Nella bash le dichiarazioni sono implicite, quindi non necessarie per le semplici variabili. Il coman si utilizza in effetti solo per gli array (flag -a) echo [-nee] [arg...] Manda in output la stringa e gli argomenti successivi (come un "print"). -e abilita le seguenti sequenze di escape: \a : bell \b : backspace \n : newline \t : tab \nnn : carattere con valore nnn (ottale) \xhh esadecimale -E disabilita le sequenze di escape -n non aggiuge un newline alla fine della stringa stampata exec [-c] [-a name] [command [arguments]] Rimpiazza il processo della shell corrente con l esecuzione del coman specificato. Il flag -c fa eseguire il coman in un ambiente vuoto. exit [n] Termina l esecuzione, n è il valore di uscita. logout [n] Termina l esecuzione di una shell di login, n è il valore di uscita. pwd Ritorna il valore della directory corrente (impostata con "cd"). read [-a arr] [-d ch] [-n n] [-p str] [-t t] [-u fd] [name...] legge da standard input, separa le parole e le assegna in sequenza alle variabili name. All ultima variabile viene assegnata l eventuale rimanenza. -a assegna gli input all array arr. -d separa utilizzan il carattere ch [il default è lo spazio] -n legge max n caratteri -p mostra str come prompt -t attende max t sec -u legge da file descriptor umask [mode] Assegna il valore della maschera dei permessi di default. I file creati successivamente avranno i permessi determinati dal complemento a 7 del valore di umask (umask=022 -> permessi=755) source. scriptfile Legge ed esegue lo script specificato. Può replicare il meccanismo degli header file (file di definizioni comuni, utili in sistemi complessi di script) o essere usato per funzioni di libreria. Principali comandi esterni I comandi che seguono sono eseguibili indipendenti dalla shell. Vengono generalmente considerati presenti in ogni sistema, e quindi comunemente utilizzati all interno degli script. Ognuno dei comandi presenta molte opzioni,
5 5 di 12 per approfondire si vedano le corrispondenti pagine di manuale. I comandi illustrati risieno generalmente in /bin e /usr/bin. Nella maggioranza dei sistemi esiste una pagina di manuale specifica per ogni coman visibile con man coman. awk Più che un coma è un vero e proprio linguaggio di programmazione. Serve a processare pattern, ad esempio con espressioni regolari. es:ls -l awk {print $6} stampa solo il sesto campo (la data) dell output di ls es:echo $A awk {print tolower($0)} converte $A in caratteri minuscoli cat Lista uno o più file sullo standard output. Utilizzato per unire file. es: cat file1 file2 file3 > file123 (unisce i tre file in uno) cdrecord/mkisofs/growisofs Comandi per masterizzare CD (cdrecord) creare ISO (mkisofs) e DVD (growisofs) chmod/chown/chgrp cambiano permessi e proprietario a file e directory cp copia file e directory date stampa o imposta data e ora, è possibile specificare il formato df [-h] Visualizza l ammontare di spazio libero su disco (-h : formato "comprensibile") du [file o directory] Visualizza la quantità di spazio utlizzato su disco. grep filtra le righe che corrisponno ad un modello, è un sistema di parsing molto potente. Nel mo più semplice si usa per filtrare elementi da una lista (Es: ps aux grep root) gzip/bzip2 utility di compressione (rispettive decompressioni bunzip2/gunzip) host Risolve indirizzi IP (richiede un DNS configurato). lp/lpr Inviano contenuti alla stampante. Possono stampare in pipe o inviare file. es: lp c.ps stampa il file postscript es: coman lp invia alla stampante l otput del coman ln [-s] file destinazione crea un link (-s simbolico) a file (o directory) nella specificata destinazione. ls [-al] visualizza i contenuti del filesystem (-a visualizza anche i file nascosti, -l visualizza le caratteristiche). mail/mailto Inviano e ricevono . Mailto può inviare anche contenuti multimediali. mkdir [-p] path Crea directory. con -p crea tutto il percorso se non esiste. mv sposta o rinomina file e directory ps elenca i processi (con tutte le relative informazioni) rm [-r] elimina file e (con -r) directory seq [-s STR][-f FRM] first [incr] last stampa una sequenza di numeri da first a last con incremento incr separati dalla stringa STR (default newline). Utile per realizzare cicli. Tramite -f FRM si può definire il formato, con sintassi simile alla printf del C. sleep n[smhd] Attende n secondi/minuti/ore/giorni. In alcuni sistemi è possibile assegnare intervalli decimali, quindi inferioiri al secon. Altri hanno il coman usleep che accetta come argomento un valore in microsecondi. sort [file] Ordina alfabeticamente le linee di un file e le visualizza. Tramite pipe può leggere da standard input. es: echo -e "alpha\ngamma\nbeta\nkappa\ndelta" sort sync Forza il flush del filesystem (cioè obbliga il sistema ad eseguire le operazioni eventualmente "rimandate"). tar Archivia files e directory in un solo file (non compresso!) aggiungen le opzioni "z" (gzip) o "j" (bzip2) lavora insieme alle utility di compressione, crean o leggen archivi compressi es: tar xf archivio.tar scompatta l archivio nella dir corrente es: tar cjf archivio.tar.bz2./dir crea l archivio compresso con la directory dir attenzione: un archivio contiene i path relativi, quindi non è detto il contenuto resti nella directory corrente.
6 6 di 12 tr Traduce caratteri. es: tr -d \015 < file.txt > file.2.txt elimina i CR dal contenuto del file (converte un testo da formato DOS a formato UNIX) es: tr --squeeze-repeats < file elimina tutte le ripetizioni di spazi, lascian solo il primo wget UrlSorgente [path_destinazione] Permette di effettuare wnload non interattivi sia da ftp che http. Controllo dei jobs e dei processi bg [job] riattiva un job in background fg [job] riattiva un job in foreground jobs [-rs] lista i job (-r: processi attivi,-s processi stoppati) kill [job] invia un segnale ad un processo o ad un job (default=sigterm) utilizzare "kill -l" per avere una lista dei segnali possibili wait [job o pid] attende il termine del processo Test Un test si può realizzare con una delle seguenti forme (gli spazi sono necessari!): [ test ] test test Alcuni dei test possibili sono: espressioni su file (es: -a filename): -a -e : se esiste -b : se è un block device -c : se è un char device -d : se è una directory -f : se è un file normale -h -L : se è un link simbolico -p : se è una pipe -r : se è leggibile -s : se non è vuoto (0 bytes) -w : se è scrivibile -x : se è eseguibile -S : se è una socket -N : se è stato modificato po l ultima lettura confronto tra file (es: file1 -nt file2): -nt : se file1 è più nuovo di file2 (modifica) -ot : se file1 è più vecchio di file2 -ef : se file1 e file2 hanno lo stesso inode (cioè sono hard link ad uno stesso contenuto) espressioni su stringhe (es: -Z string): -z : se è una stringa di lunghezza zero -n : se è una stringa di lunghezza non zero confronto tra stringhe (es: str1 == str2): Note: == : se sono uguali!= : se sono diverse
7 7 di 12 la negazione di un test si ottiene con il punto esclamativo: [! -f nomefile ] : vero se file NON è un file normale. Sono molto utilizzate forme sintetiche che sfruttano la priorità di valutazione: test && coman : se test è vero esegui coman test coman : se test non è vero esegui coman Il test di una variabile ritorna vero se è definita e falso in caso contrario [ $VAR ] && echo "VAR=$VAR" Es: controlla il corretto numero di argomenti: [ $#!= 2 ] && echo "sintassi errata" && exit 1 Es: se non esiste l eseguibile mysqld termina: test -x /usr/sbin/mysqld exit 0 Cicli e strutture condizionali In tutte le strutture esposte i ritorni a capo sono necessari, nel caso in cui si voglia autilizzare una sola riga, vanno sostituiti con ; (puntoevirgola). Esecuzione condizionale: Selezione multipla: if test then commands [elif test; then commands] [else commands] fi case word in pattern [ pattern]...) command command ;; pattern [ pattern]...) command-list ;;.. esac Assegnamento interattivo (apparirà un menu interattivo): select name [in words...] commands Iterazione classica (notare l assenza di $ nel parametro MAX): for (( i=0 ; i<max ; i++ )) commands Iterazione su lista (word è una lista di elementi): for name [in words...] commands Ciclo condizionale (eseguito mentre test è falso):
8 8 di 12 until test commands Ciclo condizionale (eseguito mentre test è vero): while test commands Es: se /bin/coman è eseguibile eseguilo, altrimenti stampa un errore if [ -x /bin/coman ]; then /bin/coman else echo "ERRORE: non posso eseguire /bin/coman" fi Es: stampa numeri crescenti all infinito COUNT=0 while [ 0 ]; echo $COUNT (( ++COUNT )) Es: attesa di 5 sec con (semplice) progress-bar for loop in ; sleep 1; echo -n "$loop"; Es: memorizza il nome dei file presenti nella directory config nell array TPCONF Es: countwn TPCOUNT = 0 declare -a TPCONF for CONFFILE in./config/* TPCONF[$TPCOUNT]=$CONFFILE (( TPCOUNT++ )) COUNT=20 until [ $COUNT -lt 10 ]; echo count: $COUNT let COUNT-=1 Es: stampa una stringa descrittiva dell architettura di processore case $( uname -m ) in i[3456]86 ) echo "architettura Intel o simili";; alpha ) echo "architettura Alpha";; arm ) echo "architettura Arm";; * ) echo "Altro";; esac Es: Selezione di un file con menù select SCELTA in./* echo Hai scelto $SCELTA break Pattern Matching
9 9 di 12 Una delle funzionalità più potenti della shell è nella ricerca di file e directory. E possibile utilizzare nei path alcuni caratteri speciali: * : qualsiasi stringa, anche nulla? : qualsiasi singolo carattere, non nullo?(lista) : nessuno o uno dei path in lista *(lista) : nessuno, uno o più dei path in lista +(lista) : uno o più dei path in : solo uno dei path in lista!(lista) : tutti eccetto i path in lista [xxx..] : uno qualsiasi tra i caratteri specificati ES: conteggia e memorizza in un array i file presenti nella directory./conf/ declare -a TPCONF TPCOUNT=0 for CONFFILE in./conf/* TPCONF[$TPCOUNT]=$CONFFILE (( TPCOUNT++ )) Particolari espansioni Alcune delle espansioni illustrate hanno una sintassi particolarmente criptica. Permettono, con un po di pratica, sostituzioni quasi impossibili con altri linguaggi. Per una migliore comprensione si vedano gli esempi. NOTA: Le espansioni sono quasi sempre annidate, quindi i parametri vengono a loro volta espansi. {xxx..} espande nelle possibili combinazioni dei caratteri inclusi ~ (tilde) path della HOME ( il carattere tilde si ottiene premen AltGr+ì ) ${parameter:-word} se definito espande parameter, altrimenti word. Utile per definire eventuali valori di default. ${parameter:=word} come il precedente ma a parameter viene assegnata l espansione di word. ${parameter:?word} Se definito vale parameter, altrimenti word viene stampato a std error (si utilizza per verificare i parametri iniziali) ${parameter:+word} Se parameter è definito vale null. Altrimenti vale word. ${#parameter} Espande nella lunghezza, in caratteri di parameter. Se parameter è un array espande nel numero di elementi. Es: echo a{d,c,b}e =output=> ade ace abe Es: sostituisce gli spazi con underscore all interno dei nomi dei file nella directory corrente (rinominanli) for FILE in * NUOVONOME=${FILE// /_} mv "$FILE" $NUOVONOME Es: suddivide un path nei suoi componenti e li assegna ad un array: (l espressione sembra complessa, ma è veramente potente) PATH="/home/utente/c/cumento.pdf" declare -a COMP=( "\""${PATH//\//"\" \""}"\"" )
10 10 di 12 # ciclo di stampa dell array ottenuto for i in /usr/bin/seq 1 $((${#COMP[*]}-1)) echo ${COMP[$i]} Stringhe La Bash incorpora molte funzioni di parsing delle stringhe, anche se con una certa mancanza di omogeneità. Alcune delle seguenti funzioni sono utilizzate anche in altri contesti (la prima ad esempio, applicata ad un array ne restituisce il numero di elementi). Molte altre operazioni sono possibili tramite i comandi tr ed expr. ${#stringa} Restituisce la lunghezza della stringa in caratteri ${stringa%regexp} Elimina il più lungo match (regexp è un espressione regolare) parten dalla fine della stringa ${stringa##regexp} Elimina il più lungo match (regexp è un espressione regolare) parten dall inizio della stringa ${stringa%%regexp} Elimina il più breve match (regexp è un espressione regolare) parten dalla fine della stringa ${stringa#regexp} Elimina il più breve match (regexp è un espressione regolare) parten dall inizio della stringa ${string:offset:length} ${parameter:offset} Espande nei lenght caratteri della stringa a partire dal carattere offset, nella seconda forma estrae i caratteri fino alla fine della stringa ${string/sub1/sub2} ${string//sub1/sub2} Sostituisce le occorrenze di sub1 con sub2 all interno della stringa Nella prima forma viene sostituita solo un occorrenza, nella seconda tutte ${string/#sub1/sub2} ${string/%sub1/sub2} se sub1 (che è un espressione regolare) corrisponde alla parte diniziale della stringa viene sostituito con sub2. Nella seconda forma opera in mo analogo ma con la parte finale della stringa (utile, ad esempio per cambiare l estensione) foo=/tmp/my.dir/filename.tar.gz len = ${#foo} path = ${foo%/*} file = ${foo##*/} base = ${file%%.*} ext = ${file#*.} # ritorna la lunghezza della stringa # ritorna /tmp/my.dir # ritorna filename.tar.gz # ritorna filename # ritorna tar.gz ${file/%.tar.gz/.tgz} # ritorna filename.tgz $(echo $file tr [A-Z] [a-z] ) # ritorna FILENAME.TAR.GZ Aritmetica Un espressione aritmetica si può valutare utilizzan la seguente forma: (( expr )) Esistono inoltre i due comandi expr e bc, per il cui approfondimento si rimanda ai rispettivi manuali. Le operazioni possibili sono: x++ ++x : post e pre incremento x-- --x : post e pre decremento +,-,*,/ : somma,sottrazione,protto,divisione **,% : elevamento a potenza,resto! ~ : negazione logica e bitwise
11 11 di 12 << >> : shift bitwise <= >= < > : confronto ==!= : uguaglianza e disuguaglianza &,,^ : bitwise AND,OR,XOR &&, : AND e OR logici test?b:c : valutazione condizionale (se test allora vale b, altrimenti c) Per parentesi annidate si utilizzano le parentesi semplici: (( 5 * ( 2 - $NUM ) )) il $ è necessario, come sempre, per le assegnazioni e per l output: SUM=$(( $A + $B )) echo $(( 5+3 )) mentre non è necessario per incremento e decremento: (( COUNTER++ )) La ppia parentesi tonda va utilizzata anche per test di tipo numerico: (( $A >= $B )) && echo "B non è più grande di A" Anche se per i test di confronto funziona anche la parentesi quadra (che però, in realtà, effettua un confronto tra stringhe): [ $A == $B ] && echo "A è uguale a B" Array La bash permette l uso di array monodimensionali, che possono essere anche misti (cioè contenere valori di tipo differente). # definizione ARY=( uno due tre quattro ) # stampa il numero di elementi di un array echo "${#ARY[*]}" # stampa due elementi po il terzo echo "${ARY[@]:3:2}" #stampa il 2 elemento echo "${ARY[1]}" # stampa l intero array echo "${ARY[*]}" # ciclo di stampa sugli elementi di un array for (( I=0 ; I<${#ARY[*]} ; I++ )) echo "elemento[$i]: ${ARY[$I]}" Trucchi e consigli Provare ogni sequenza alla riga di coman. Le sequenze complesse (ed anche i cicli) possono essere provate inline (cioè su una sola linea), separan le istruzioni con il carattere ;. Utilizzare gli echo separan errori da semplici output: echo "errore" >> /dev/stderr echo "output" >> /dev/stut Quan non si vorranno più vedere gli avvisi (ma solo gli errori) sarà sufficiente avviare lo script con:
12 12 di 12 script.sh 1>> /dev/null Per fare il parsing dei flag di coman (si può utilizzare anche il builtin getopt): while [ $# -gt 0 ] case "$1" in -h --help ) print_usage && exit 0;; -v --version ) echo "$VERSION" && exit 0;; -t --test ) TESTFLAG=1;; -c --config ) CONFIGFILE=$2;; * ) break ;; # altri flag e azioni possibili esac shift Per fugare eventuali dubbi sintattici, i pattern matching possono essere agevomente provati con il coman "ls" senza alcun rischio per il filesystem. Un problema tipico è il riempimento di liste con i nomi file, senza incappare in indesiderate divisioni vute ad eventuali spazi presenti nei nomi. Il seguente codice utilizza IFS per memorizzare in un array i nomi dei file in ordine temporale: OLDIFS=$IFS IFS=$ \x0a FILEARRAY=( $(ls -dtr *) ) IFS=$OLDIFS Per debuggare uno script è possibile far stampare a video ogni linea prima che venga eseguita. E sufficiente lanciare lo script con: /bin/bash -x nomescript L opzione -x può essere anche posta direttamente all interno dello script nella prima riga: #!/bin/bash -x
GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica
GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o
L utility Unix awk [Aho-Weinberger-Kernighan]
L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più
Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.
Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché
Il sistema operativo UNIX/Linux. Gli script di shell
Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue
NOZIONI BASE SHELL E SCRIPT LINUX
NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI ([email protected]) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory
Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
Linguaggio di bash per esempi. Tre modi per quotare. Esempio. quotare: significa trattare caratteri speciali come normali caratteri
Linguaggio di bash per esempi Tre modi per quotare quotare: signica trattare caratteri speciali come normali caratteri es. di aratteri speciali: $, blank, apici, 1. backslash: per quotare un solo carattere
Richiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
Alcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Usare Python in Linux
Università di Bologna 24 febbraio 2012 Outline 1 2 Outline 1 2 Cos è? Un sistema operativo Open Source; uno dei sistemi operativi dominanti in ambito server, ma utilizzabile su desktop, notebook, netbook,...
I Metacaratteri della Shell Unix
I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla
Introduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
INTRODUZIONE ALLA PROGRAMMAZIONE IN KORN SHELL E.M.
INTRODUZIONE ALLA PROGRAMMAZIONE IN KORN SHELL E.M. DAVID KORN, BELL LABS, "THE KORN SHELL COMMAND AND PROGRAMMING LANGUAGE", PRENTICE HALL, 989 esecuzione: - dalla shell (prompt $) $primo il file deve
MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
Laboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - [email protected] Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
NOZIONI BASE PER ESERCITAZIONI
NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi
Arduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
Funzioni. Il modello console. Interfaccia in modalità console
Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi
Introduzione a ROOT. 1. Informazioni generali
Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in
5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record
5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1
Introduzione al Foglio Elettronico
Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono
Prof. Nicola Cappuccio [email protected]
Excel e le sue Funzioni Guida Pratica per la realizzazione di Progetti Prof. Nicola Cappuccio [email protected] Ing. Nicola Cappuccio 1 Sommario INT (funzione INT)... 3 Descrizione... 3 Sintassi...
Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Note per generazione file.txt per invio trimestrale V.P. all AGENZIA DELLE ENTRATE
Note per generazione file.txt per invio trimestrale V.P. all AGENZIA DELLE ENTRATE Si tratta della funzione che consente di generare il file in formato testo (.TXT) che permette la spedizione all Agenzia
Gestione dei processi
Gestione dei processi Dormire unsigned int sleep(unsigned int); Attende un numero specificato di secondi a meno che non si verifichi un segnale Restituisce 0 se l'attesa è terminata senza interruzioni,
Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
Introduzione al Python
Andrea Passerini [email protected] Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Linguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
1. Le macro in Access 2000/2003
LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette
Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani ([email protected])
CALCOLATORI ELETTRONICI II
CALCOLATORI ELETTRONICI II L ASSEMBLATORE Microsoft MASM MASM Argomenti della lezione Faremo riferimento al linguaggio sorgente accettato dall assemblatore Microsoft MASM nelle versioni successive alla
Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani ([email protected])
Introduzione alla. Alessandra Giordani [email protected] Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1
Introduzione alla Shell di UNIX Alessandra Giordani [email protected] Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche,
Corso di Informatica. Immissione di dati. Visualizzazione come foglio dati 1. Visualizzazione come foglio dati 2 11/01/2008
Corso di Informatica Immissione di dati La modalità di inserimento che ricorda più Excel è la visualizzazione come foglio dati Ing. Dario Sguassero Microsoft Access 2/3 11/01/2008 0.35 2 Visualizzazione
Programmare in Java. Olga Scotti
Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale
DAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
I file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
Esercizio 2. Client e server comunicano attraverso socket TCP
Esercizio 1 Scrivere una applicazione client/server in cui: Il client, in un ciclo infinito: Legge una stringa da standard input Invia al processo server la stringa. Il server visualizza: L'IP da cui si
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
2 - Modifica. 2.1 - Annulla 2.2 - ANNULLA TOPOGRAFICO 2.3 - ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1
2 - Modifica FIGURA 2.1 Il menu a tendina Modifica contiene il gruppo di comandi relativi alla selezione e alla gestione delle proprietà delle entità del disegno e alla gestione dei layer. I comandi sono
Programmazione della shell Bash
Programmazione della shell Bash Marco Liverani Agosto 2011 ii Marco Liverani, Programmazione della shell Bash, Agosto 2011 Copyright 2011 2015. Questa guida può essere liberamente stampata, fotocopiata
SITI-Reports. Progetto SITI. Manuale Utente. SITI-Reports. ABACO S.r.l.
Progetto SITI Manuale Utente SITI-Reports ABACO S.r.l. ABACO S.r.l. C.so Umberto, 43 46100 Mantova (Italy) Tel +39 376 222181 Fax +39 376 222182 www.abacogroup.eu e-mail : [email protected] 02/03/2010
Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
Utilizzo di putty. L uso base e molto semplice: richiede solo di specificare:
Utilizzo di putty Client ssh liberamente utilizzabile (www.chiark.greenend.org.uk/~sgtatham/putty/download.html) Tra le molte opzioni di configurazione di putty sono utili: Window - Translation: per selezionare
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
2 - Modifica. 2.1 - Annulla. 2.2 - Selezione finestra. S.C.S. - survey CAD system FIGURA 2.1
2 - Modifica FIGURA 2.1 Il menu a tendina Modifica contiene il gruppo di comandi relativi alla selezione delle entità del disegno, alla gestione dei layer, alla gestione delle proprietà delle varie entità
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0
11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE
Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP.
U.A. 5 - Database in rete con le pagine ASP e ASP.NET 269 Il controllo di SQL Injection nelle pagine ASP e ASP.NET Approfondimenti Con il termine SQL Injection si intende l aggiunta di istruzioni SQL nell
Procedura SMS. Manuale Utente
Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...
Corso di Archivistica
Corso di Archivistica e gestione documentale Prima Parte - Area Informatica Le tabelle Lezione 6 Creare un data base Introduzione La presente è la prima di una serie di lezioni finalizzate alla creazione
Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi
Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {
Gestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania [email protected] http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
Come produrre un file PDF da SAP facendo in modo che venga salvato in automatico in una cartella di rete
Come produrre un file PDF da SAP facendo in modo che venga salvato in automatico in una cartella di rete Autore Enzo Grasseni Pagina 1 di 7 Questo breve manuale ha lo scopo di fornire le indicazioni per
JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:
JAVASCRIPT Introduzione Con l HTML siamo in grado di realizzare pagine web statiche. Con il linguaggio Javascript, invece, possiamo interagire modificando il contenuto della pagina. Il linguaggio javascript
EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
Nozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni
Array e WHILE Array nelle Stringhe Si può utilizzare il anche costrutto while insieme alle istruzioni each e list nella condizione: while(list($indice,$valore)=each($mio_array)) { echo $Indice - $Valore
Laboratorio di Programmazione
Laboratorio di Programmazione Federico Spizzo Dipartimento di Fisica / Edificio C Stanza 006 Tel: 0532 974231 E-mail: [email protected] Gianluigi Cibinetto Dipartimento di Fisica / Edificio C Stanza
FORMULE: Operatori matematici
Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere
Struttura logica di un programma
Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati
ACCESSO AL SISTEMA HELIOS...
Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO
LA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
PORTALE CLIENTI Manuale utente
PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo
E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools
Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati
OSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
Editor vi. Editor vi
Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta
Excel. A cura di Luigi Labonia. e-mail: [email protected]
Excel A cura di Luigi Labonia e-mail: [email protected] Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica
Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo
Gestione Risorse Umane Web
La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...
INTEGRAZIONE DI DOCUSOFT CON UN ALTRO SOFTWARE GESTIONALE CON IL MODULO ACQUIRE&VIEW
INTEGRAZIONE DI DOCUSOFT CON UN ALTRO SOFTWARE GESTIONALE CON IL MODULO ACQUIRE&VIEW Il modulo software Acquire&View aggiunge le funzionalità di acquisizione, archiviazione e ricerca dei documenti, proprie
4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione)
- 36 - Manuale di Aggiornamento 4 MODULI AGGIUNTIVI 4.1 FAX EMAIL: Sollecito consegne via email (Nuova funzione) È stata realizzata una nuova funzione che permette di inviare un sollecito ai fornitori,
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
Matematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15
WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione
IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE
IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE
Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
COMANDI MS-DOS. Per ulteriori informazioni su uno specifico comando, digitare HELP nome comando
COMANDI MS-DOS Per ulteriori informazioni su uno specifico comando, digitare HELP nome comando ASSOC Visualizza o modifica le applicazioni associate alle estensioni dei file. AT Pianifica l'esecuzione
RISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
Controllo di processi
Controllo di processi Ogni processo del sistema ha un PID (Process Identity Number). Ogni processo può generare nuovi processi (figli). La radice della gerarchia di processi è il processo init con PID=1.
