ufile: ajouter le mode local uniquement

This commit is contained in:
Jephté Clain 2018-01-13 17:42:47 +04:00
parent bc4c8cbb81
commit f35e9e8560
1 changed files with 16 additions and 6 deletions

10
ufile
View File

@ -78,6 +78,10 @@ OPTIONS
déplacé dans la destination s'il s'agit d'un classement local, ou copié déplacé dans la destination s'il s'agit d'un classement local, ou copié
s'il s'agit d'un classement distant. Avec --force-cp, le fichier est s'il s'agit d'un classement distant. Avec --force-cp, le fichier est
systématiquement copié dans la destination. systématiquement copié dans la destination.
-m, --local-only
Ignorer les classements qui auraient pour conséquence de copier le
fichier sur un hôte distant. Ne traiter que les classement locaux. Cela
s'applique aussi aux classements distants qui désignent l'hôte courant.
-S, --ssh SSH -S, --ssh SSH
S'il faut classer sur un hôte distant avec scp, utiliser le programme S'il faut classer sur un hôte distant avec scp, utiliser le programme
spécifié pour la connexion par ssh spécifié pour la connexion par ssh
@ -160,6 +164,7 @@ args=(%
-j:,--nrule: _nrules -j:,--nrule: _nrules
-v:,--var: _vars -v:,--var: _vars
--force-cp force_cp=1 --force-cp force_cp=1
-m,--local-only local_only=1
-S:,--ssh: SSH= -S:,--ssh: SSH=
--force-scp force_scp=1 --force-scp force_scp=1
-f,--force force=1 -f,--force force=1
@ -321,12 +326,17 @@ for file in "${_files[@]}"; do
[ -z "$force" ] && mvint=-i || mvint= [ -z "$force" ] && mvint=-i || mvint=
for dest in "${dests[@]}"; do for dest in "${dests[@]}"; do
if [[ "$dest" == *:* ]]; then if [[ "$dest" == *:* ]]; then
if [ -n "$local_only" ]; then
einfo "$dest: destination ignorée à cause du mode local uniquement"
continue
else
[ "$interaction" == --DEFAULT-- ] && int= || int="$interaction" [ "$interaction" == --DEFAULT-- ] && int= || int="$interaction"
estep "$filename --> $dest" estep "$filename --> $dest"
ask_yesno $int "Voulez-vous continuer?" O || { ask_yesno $int "Voulez-vous continuer?" O || {
r=1; found=x; break r=1; found=x; break
} }
docmd scp ${SSH:+-S "$SSH"} "$file" "$dest" || die "problème lors de la copie du fichier" docmd scp ${SSH:+-S "$SSH"} "$file" "$dest" || die "problème lors de la copie du fichier"
fi
else else
[ "$interaction" == --DEFAULT-- ] && int=-i || int="$interaction" [ "$interaction" == --DEFAULT-- ] && int=-i || int="$interaction"