search.sh - questo script deve essere invocato sul client in uno dei due modi possibili specificati di seguito (terminando immediatamente se rileva parametri non corretti). Può utilizzare altri script tra quelli descritti in precedenza, se utile.

  1. Se il primo parametro è la stringa "file", deve esistere un secondo parametro che verrà interpretato come un nome di file. In tal caso si dovranno cercare, sul server, tutti file con tale nome presenti all'interno della directory dei backup dell'utente che ha lanciato la ricerca, stampando su standard output il loro nome (completo di percorso relativo a tale directory).

  2. Se il primo parametro non è la stringa "file", allora si deve verificare che esso sia nel formato YYYYMMDD-hhmm (controllando solo la validità sintattica senza scendere nel dettaglio della validità dei valori numerici), ed elencare su standard output tutti i file contenuti nella directory /backups/<username>/YYYYMMDD-hhmm (se esiste), completi di percorso relativo a tale directory. Se la directory non esiste si lasci semplicemente che il messaggio d'errore di sistema venga visualizzato all'utente.


#!/bin/bash
select.sh | ( read USER SERVER

if [ "$1" = "file" ] && test "$2"
then
    ssh $SERVER "find /backups/$USER -name $2"
elif echo $1 | egrep -q '^[0-9]{8}-[0-9]{4}$'
   
ssh $SERVER "find /backups/$USER/$1"
else
    echo "Parametri non corretti"
fi
)