Ce script permet de transférer des fichiers entre une machine locale et un serveur avec scp, copie sécurisée
#!/bin/bash # transfert dest="eleves@serveur:" #serveur défini dans /etc/hosts menu() { echo " Utilisation de transfert" echo " Exemple transfert -e fichier avec un argument" echo " Les options : -h cette aide " echo " -e envoyez de votre poste au serveur " echo " -r recevez du serveur sur votre poste " echo " On peut mettre 2 arguments fichier(source) et dossier(destination)" echo " Exemple transfert -e tp_nom.tgz TP " } if [ -z "$*" ] #si pas d'argument then echo "il faut au moins un argument" menu # on lance la fonction menu qui affiche une aide pour l'utilisation de transfert exit 1 #on quitte le script avec une erreur else while getopts "her" option #options acceptées uniquement -h, -e, -r do case $option in h) menu #afficher l'aide exit 0 ;; #on quitte le script sans erreur e) cmd='scp $1 $dest$dossier' ;; # envoyer un fichier r) cmd='scp $dest$1 $dossier' # recevoir un fichier esac # si pas her , affiche une erreur done fi shift $(($OPTIND -1)) # décalage des arguments pour enlever les options dossier=${2:-"."} # si pas de deuxième argument on met ., le répertoire courant eval "echo $cmd" #on affiche la commande eval $cmd #on exécute la commande exit 0 #on quitte le script sans erreur