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

22
ufile
View File

@ -78,6 +78,10 @@ OPTIONS
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
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'il faut classer sur un hôte distant avec scp, utiliser le programme
spécifié pour la connexion par ssh
@ -160,6 +164,7 @@ args=(%
-j:,--nrule: _nrules
-v:,--var: _vars
--force-cp force_cp=1
-m,--local-only local_only=1
-S:,--ssh: SSH=
--force-scp force_scp=1
-f,--force force=1
@ -321,12 +326,17 @@ for file in "${_files[@]}"; do
[ -z "$force" ] && mvint=-i || mvint=
for dest in "${dests[@]}"; do
if [[ "$dest" == *:* ]]; then
[ "$interaction" == --DEFAULT-- ] && int= || int="$interaction"
estep "$filename --> $dest"
ask_yesno $int "Voulez-vous continuer?" O || {
r=1; found=x; break
}
docmd scp ${SSH:+-S "$SSH"} "$file" "$dest" || die "problème lors de la copie du fichier"
if [ -n "$local_only" ]; then
einfo "$dest: destination ignorée à cause du mode local uniquement"
continue
else
[ "$interaction" == --DEFAULT-- ] && int= || int="$interaction"
estep "$filename --> $dest"
ask_yesno $int "Voulez-vous continuer?" O || {
r=1; found=x; break
}
docmd scp ${SSH:+-S "$SSH"} "$file" "$dest" || die "problème lors de la copie du fichier"
fi
else
[ "$interaction" == --DEFAULT-- ] && int=-i || int="$interaction"