#!/bin/bash
# copydir.sh

#  Copie verbeusement tous les fichiers du répertoire courant ($PWD)
#+ dans le répertoire spécifié sur la ligne de commande

E_NOARGS=65

if [ -z "$1" ]   # Quitte si aucun paramètre n'est fourni.
then
  echo "Usage: `basename $0` rep-destination"
  exit $E_NOARGS
fi  

ls . | xargs -i -t cp ./{} $1
#            ^^ ^^      ^^
#  -t est l'option "verbeuse" (affiche la ligne de commande sur stderr).
#  -i est l'option de "remplacement des chaînes".
#  {} est un emplacement réservé pour le texte en sortie.
#  C'est similaire en utilisation à une paire d'accolades pour "find."
#
#  Liste les fichiers du répertoire courant (ls .),
#+ utilise la sortie de "ls" comme argument pour "xargs" (options -i -t),
#+ puis copie (cp) ces arguments ({}) vers le nouveau répertoire ($1).  
#
#  Le résultat net est l'équivalent exact de
#+   cp * $1
#+ sauf si un des noms de fichiers contient des espaces blancs.

exit 0
