J'aime votre script mais, si besoin, vous pouvez le faire en ligne de commande directement depuis le répertoire courant :
rsync -a "$PWD" ~/backup/
ou d'une manière similaire à votre approche de script avec
rsync -a "$(pwd -P)" ~/backup/
Remarques :
-
Il est nécessaire de citer le répertoire courant si dans le chemin est présent, par exemple, un ou plusieurs espaces.
-
En cas de liens symboliques dans le chemin, il est possible d'obtenir le physique chemin évitant tous les liens symboliques en spécifiant l'option
-P
dans lepwd
appel de commande ($(pwd -P)
), ou appeler l'exécutable avec son chemin complet ($(/bin/pwd)
).
En effet il existe le intégrépwd
qui affiche par défaut le lien symbolique path, et l'exécutable/bin/pwd
qui par défaut affiche le physique chemin. -
Les deux commandes font référence à la variable
$PWD
qui contient le répertoire de travail actuel lorsqu'on leur demande la version du chemin avec les éventuels liens symboliques :donc si vous n'avez pas strictement besoin du physique chemin, vous pouvez éviter d'appeler le sous-shell et utilisez directement la variable$PWD
.rsync -a "$PWD" ~/backup/
Trouvé une solution :
Création d'un nouveau script shell comme celui-ci :
current_dir=`pwd`
dir_name=`basename $current_dir`
rsync -a . ~/backup/$dir_name
et lors de son exécution, il créera un nouveau répertoire à la destination et copiera le contenu du dossier actuel.