Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    script nn funzionante!!!

    ciao a tutti spero possiate aiutarmi con questo script..devo risolvere l'esercizio per domani urgentemente e ammettendo la mia incapacità in materie informatiche vi dico che ho trovato la soluzione su internet ma quando provo a lanciarlo non funziona...mi sapete dire quali sono gli errori che non mi permettono di soddisfare la richiesta dell'esercizio?? grazie grazie fra

    Eccolo:
    Scrivere uno script che accetta come parametri una sequenza di nomi di file (ordinari o
    directory) e li rimuove spostandoli nella cartella .cestino della propria home (invece di cancellarli fisicamente). Nel caso in cui la directory .cestino non esista, lo script dovrà crearla. Nel caso in cui i file da rimuovere abbiano dei nomi che corrispondono ad altri file già presenti in .cestino , lo script dovrà chiedere all’utente se desidera sovrascriverli. Si implementino inoltre le seguenti opzioni:
    -l che permette di visualizzare il contenuto della directory .cestino
    ;
    -e che svuota la directory .cestino
    ;
    -r nomefile percorsoche ripristina il file nomefile spostandolo dalla directory .cestino a quella specificata da percorso. Nel caso in cui nella directory di destinazione esista già un
    file con lo stesso nome, lo script dovrà chiedere all’utente se desidera sovrascriverlo.
    Si gestiscano opportunamente gli errori e si provi lo script su alcuni esempi significativi.
    codice:
    #!/bin/bash
    # controllo argomenti
    if [ $# -lt 1 ] ; then
    echo "Uso: cestina.sh file1 file2 ...."
    echo " cestina.sh -l"
    echo " cestina.sh -e"
    echo " cestina.sh -r nomefile percorso"
    exit 1
    fi
    # controlla l’esistenza del cestino. Se non c’è lo crea
    cestino=$HOME/.cestino
    if [ ! -e $cestino ] ; then
    mkdir $cestino
    if [ $? != 0 ] ; then
    echo "ERRORE: impossible creare il cestino."
    exit 1
    fi
    fi
    # controlla il primo argomento e vedi se è un’opzione
    case $1 in
    "-l") # Elenca i file in .cestino
    if [ $# -ne 1 ] ; then
    echo "Uso: cestina.sh -l"
    exit 1
    fi
    echo "CONTENUTO DEL CESTINO:"
    ls $cestino
    ;;
    "-e") # Svuota il cestino
    
    
    
    if [ $# -ne 1 ] ; then
    echo "Uso: cestina.sh -p"
    exit 1
    fi
    rm -rf $cestino/
    *
    echo "CESTINO SVUOTATO."
    ;;
    "-r") # recupera il file
    if [ $# -ne 3 ] ; then
    echo "Uso: cestina.sh -r nomefile percorso"
    exit 1
    fi
    nomefile=$2
    percorso=$3
    if [ ! -e $cestino/$nomefile ] ; then
    echo "ERRORE: il file da recuperare non è presente nel cestino."
    exit 1
    fi
    if [ ! -d $percorso ] ; then
    echo "ERRORE: il secondo argomento deve essere una directory."
    exit 1
    fi
    if [ -e $percorso/$nomefile ] ; then
    echo -n "Il file esiste già! Sovrascrivere? (s/n): "
    read risp
    if [ $risp != "s" -a $risp != "S" ] ; then
    echo "recupero annullato."
    exit 1
    fi
    fi
    echo "recupero il file " $nomefile
    mv -f $cestino/$nomefile $percorso
    ;;
    *
    ) # nessun argomento, sposta i file nel cestino
    for f in $
    *
    ; do
    echo "Cancellazione di " $f
    if [ ! -e $f ] ; then
    echo "ERRORE: il file " $f " non esiste."
    elif [ -e $cestino/$(basename $f) ]
    then
    echo -n "Il file " $f "esiste già nel cestino! Sovrascrivere? (s/n): "
    read risp
    if [ $risp != "s" -a $risp != "S" ] ; then
    echo "Rimozione di " $f " annullata."
    exit 1
    else
    mv -f $f $cestino
    fi
    else
    mv -f $f $cestino
    fi
    done
    ;;
    esac

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    "Non funziona" non vuol dire nulla: errori di sintassi? non fa quello che ti aspetti?

    ps: indenta il codice (e usa il tag CODE), altrimenti il codice è illeggibile e passa la voglia di guardarlo...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3

    Moderazione

    Sottoscrivo, aggiungo che il linguaggio di riferimento va sempre indicato nel titolo (come "tag"), e ti invito a dare un'occhiata al regolamento, in particolare al punto sulla "pappa pronta".
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    scusatemi ma non avevo idea che ci fosse un regolamento con determinate regole da seguire x quanto riguarda la struttura di una discussione sono nuova dei forum e alle prime armi con il computer quindi abbiate un po di pazienza cercherò di spiegarmi meglio

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    154
    Che errori ti da? Io per l'esistenza della cartella avrei usato test nella if.. però non penso sia quello il problema.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.