ussh: pas de valeur par défaut pour DEFAULT_USER; --parse affiche toutes les options

This commit is contained in:
Jephté Clain 2016-01-27 13:17:24 +04:00
parent b19059ee62
commit 9992505504
1 changed files with 12 additions and 10 deletions

22
ussh
View File

@ -232,6 +232,7 @@ function __update_sshopts_misc() {
# Ajouter l'option -l DEFAULT_USER au tableau sshopts si aucune définition
# pour l'hôte $1 n'existe dans l'un des fichiers de configuration de ssh et
# si l'utilisateur n'a pas déjà spécifié un compte utilisateur.
SSH_USER=
SSH_PORT=22
# L'utilisateur est peut-être fourni avec l'hôte
local user host
@ -259,7 +260,7 @@ function __update_sshopts_misc() {
# Rajouter l'option -l au début. De cette façon, on laisse la possibilité à
# l'utilisateur de surcharger cette option, dans le cas où nous n'avons pas
# pu analyser les arguments correctement
SSH_USER="${DEFAULT_USER:-$USER}"
SSH_USER="$DEFAULT_USER"
sshopts=(${DEFAULT_USER:+-l "$DEFAULT_USER"} "${sshopts[@]}")
}
function __update_sshopts_cm() {
@ -320,18 +321,19 @@ function __update_sshopts_cm() {
}
function show_vars() {
[ "${#hosts[*]}" -gt 1 ] && exec=
local -a sshopts
array_copy sshopts SSHOPTS
__update_sshopts_misc "${hosts[0]}" "$@"
__update_sshopts_cm "${hosts[0]}"
[ "${#hosts[*]}" -gt 1 ] && exec=
set_array_cmd hosts
set_var_cmd ssh "$SSH"
set_var_cmd exec "$exec"
set_array_cmd options sshopts
set_array_cmd hosts
set_array_cmd args @ "$@"
for host in "${hosts[@]}"; do
array_copy sshopts SSHOPTS
__update_sshopts_misc "$host" "$@"
__update_sshopts_cm "$host"
set_var_cmd host "$host"
set_array_cmd options sshopts
done
}
function do_ssh() {
@ -361,7 +363,7 @@ function __update_SSHOPTS() { SSHOPTS=("${SSHOPTS[@]}" "$@"); }
# charger la configuration
set_defaults nutools
set_defaults ussh
[ -n "$DEFAULT_USER" ] || DEFAULT_USER="${USSH_USER:-root}"
[ -n "$DEFAULT_USER" ] || DEFAULT_USER="$USSH_USER"
[ -n "$DEFAULT_DOMAIN" ] || DEFAULT_DOMAIN="$USSH_DOMAIN"
[ -n "$DEFAULT_PERSIST" ] || DEFAULT_PERSIST=5m