Pages: [1]   Go Down
Print
Author Topic: Prova di laboratorio: Cosa fare?  (Read 2840 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
TheSpecialOne
Apprendista Forumista
**
Offline Offline

Posts: 232



« on: 17-08-2011, 10:38:12 »

Salve a tutti, mi servirebbe qualche info in più sulla prova di laboratorio, in particolare:

  • Che argomenti riguarda?
  • Cosa serve (software, editor di testo, ecc..) per potersi preparare?
  • Dove reperire degli esempi svolti?

Mi riferisco all'esame con il prof. Pappalardo!
Spero qualcuno possa darmi una mano, nel frattempo ringrazio anticipatamente!
Logged
cock86
Forumista Eroico
*****
Offline Offline

Posts: 2.014


OM


« Reply #1 on: 24-08-2011, 10:40:27 »

il prof fa fare uno script bash. I vecchi compiti li puoi reperire se non errò su studium.
Logged

Un "buon informatico" trova una soluzione ad ogni tipo di problema. Un "ottimo informatico" trova la soluzione più efficiente ad ogni tipo di problema! Non stancatevi di migliorare la vostra soluzione!
TheSpecialOne
Apprendista Forumista
**
Offline Offline

Posts: 232



« Reply #2 on: 24-08-2011, 10:54:18 »

Ho trovato sul suo sito script non interattivi per eliminare files sotto certe condizioni, configurare cron, aggiungere utenti, impostare permessi ecc...
Anche se erano dei compiti abbastanza vecchiotti, spero siano di quel tipo ancora!
Logged
Nyconator
Apprendista Forumista
**
Offline Offline

Posts: 130


« Reply #3 on: 12-09-2011, 10:48:34 »

Ragazzi, qualcuno potrebbe fornirmi un link ai vecchi compiti del professor Pappalardo? Su studium non riesco a trovare nulla, e neanche sul sito del prof...

ve ne sarei molto grato, l'esame è dopodomani
Logged
ShiShi
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 256



« Reply #4 on: 13-09-2011, 20:45:50 »

Trovi molti esercizi sul forum stesso, alcuni sono anche svolti.
Ma come fai a sapere che è dopo domani la prova?L'ha detto già il prof?
Logged
TheSpecialOne
Apprendista Forumista
**
Offline Offline

Posts: 232



« Reply #5 on: 17-09-2011, 10:42:50 »

Tornando allo scopo del topic, io ho scaricato Slax (versione live) per esercitarmi con questi script, ma ci sono delle cose che non mi convincono.
Ad esempio, dopo avere terminato uno script, mi spunta un messaggio dal terminale, nel quale mi dice che non ha riconosciuto la variabile $1
Qualcuno sa darmi qualche consiglio sulla compilazione degli script via terminale?
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.446


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #6 on: 17-09-2011, 11:02:59 »

[...] dopo avere terminato uno script, mi spunta un messaggio dal terminale, nel quale mi dice che non ha riconosciuto la variabile $1
Qualcuno sa darmi qualche consiglio sulla compilazione degli script via terminale?
Mmm... a parte che gli script non vengono compilati ma eseguiti direttamente dalla shell stessa, non ho consigli generici, dovresti postare (in una discussione apposita magari, se vuoi) il testo dell'esercizio, la tua soluzione e un output di esecuzione dello script ...
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
TheSpecialOne
Apprendista Forumista
**
Offline Offline

Posts: 232



« Reply #7 on: 17-09-2011, 11:09:25 »

L'esercizio nello specifico era questo:
Code:
Creare uno script non interattivo che prende in input tre parametri:
- il nome di un file contenente un elenco di nomi di directory
- il nome di un file (che indicheremo con f)
- il nome di una directory che indicheremo con d
Per ogni directory elencata nel primo file se in essa è presente un file di nome f,
allora sposta tale directory all'interno della directory d.

Ecco la mia soluzione, svolta su carta:
Code:
!#/bin/bash


if (!test $# -eq 3)
then
       echo "Numero parametri errato"
       exit 1;
fi


if (!test -e $1)
then
       echo "Il primo parametro non esiste"
       exit 2;
fi


if (!test -e $2)
then   
       echo "Il secondo parametro non esiste"
       exit 3;
fi


if (!test -d $3)
then
       echo "Il terzo parametro non esiste"
       exit 4;
fi


elenco='cat $1'
for dir in $elenco
do
     if test -e $dir/$2
     then
            echo "Trovato file di nome 'f'"   
            mv $dir $3
     fi
done

Ho riportato la soluzione precedente sul terminale, sperando di non avere fatto errori sintattici, ed ho ottenuto 2 errori in particolare:
  • Chiusura del terminale agli exit dei metodi di controllo iniziali (errore logico pensandoci bene)
  • Errore sulla variabile $1, risultata non esistente, al termine dello script
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.446


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #8 on: 17-09-2011, 17:26:23 »

Comincio con il primo errore che ho visto (ma non è detto che sia il primo in assoluto nono):

Code:
elenco='cat $1'
Se ricordi, quando usi gli apici singoli (') tu stai scrivendo una cosiddetta "stringa letterale", in cui i simboli saranno presi così-come-sono, senza espansione di variabili.
Avresti dovuto scrivere piuttosto:
Code:
elenco=`cat "$1"`
oppure ancora più elegantemente:
Code:
elenco=$(cat "$1")
univ

Riprova...
« Last Edit: 19-05-2012, 21:08:58 by reversengineer » Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
LtWorf
Forumista Esperto
****
Offline Offline

Posts: 1.079

Ogni cosa da me scritta è da intendersi come opinione personale e non come dato di fatto. Anche le eventuali dimostrazioni matematiche da me scritte saranno opinioni personali e quindi dovranno venire dimostrate da una terza parte di fiducia


WWW
« Reply #9 on: 06-11-2012, 14:49:33 »

Il primo errore è alla prima riga :-D

!#/bin/bash

dovrebbe essere

#!/bin/bash
Logged

There are some OO programming languages. I will create the first -_-' language.

LtWorf
Pages: [1]   Go Up
Print
Jump to: