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 # 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 # 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. # si l'utilisateur n'a pas déjà spécifié un compte utilisateur.
SSH_USER=
SSH_PORT=22 SSH_PORT=22
# L'utilisateur est peut-être fourni avec l'hôte # L'utilisateur est peut-être fourni avec l'hôte
local user host 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é à # 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 # l'utilisateur de surcharger cette option, dans le cas où nous n'avons pas
# pu analyser les arguments correctement # pu analyser les arguments correctement
SSH_USER="${DEFAULT_USER:-$USER}" SSH_USER="$DEFAULT_USER"
sshopts=(${DEFAULT_USER:+-l "$DEFAULT_USER"} "${sshopts[@]}") sshopts=(${DEFAULT_USER:+-l "$DEFAULT_USER"} "${sshopts[@]}")
} }
function __update_sshopts_cm() { function __update_sshopts_cm() {
@ -320,18 +321,19 @@ function __update_sshopts_cm() {
} }
function show_vars() { function show_vars() {
[ "${#hosts[*]}" -gt 1 ] && exec=
local -a sshopts local -a sshopts
array_copy sshopts SSHOPTS [ "${#hosts[*]}" -gt 1 ] && exec=
__update_sshopts_misc "${hosts[0]}" "$@" set_array_cmd hosts
__update_sshopts_cm "${hosts[0]}"
set_var_cmd ssh "$SSH" set_var_cmd ssh "$SSH"
set_var_cmd exec "$exec" set_var_cmd exec "$exec"
set_array_cmd options sshopts
set_array_cmd hosts
set_array_cmd args @ "$@" 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() { function do_ssh() {
@ -361,7 +363,7 @@ function __update_SSHOPTS() { SSHOPTS=("${SSHOPTS[@]}" "$@"); }
# charger la configuration # charger la configuration
set_defaults nutools set_defaults nutools
set_defaults ussh 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_DOMAIN" ] || DEFAULT_DOMAIN="$USSH_DOMAIN"
[ -n "$DEFAULT_PERSIST" ] || DEFAULT_PERSIST=5m [ -n "$DEFAULT_PERSIST" ] || DEFAULT_PERSIST=5m