ajouter les options -l et -d

This commit is contained in:
Jephté Clain 2014-02-21 08:52:19 +04:00
parent ce8efb6282
commit 35e258b17c
1 changed files with 23 additions and 4 deletions

27
ussh
View File

@ -19,7 +19,21 @@ OPTIONS
[options]
Les arguments et options de ssh doivent se trouver *APRES* host, pour
simplifier leur analyse.
Les options suivantes doivent se trouver *AVANT* le premier argument:
Les options suivantes sont reconnues même quand elle sont spécifiées avant le
premier argument (les options longues ne sont reconnues qu'avant le premier
argument):
-q, --quiet
Mode non verbeux
-t, --tty
Forcer l'allocation d'un TTY
-l, --login USER
Spécifier le user avec lequel se connecter
-o OPTION
Ajouter une option de SSH
Les options suivantes *doivent* se trouver *AVANT* le premier argument:
-d, --domain DOMAIN
Spécifier un domaine par défaut pour les hôtes qui sont spécifiés sans
domaine.
-S SSH
Spécifier l'exécutable à utiliser pour lancer ssh.
-R
@ -92,13 +106,17 @@ function fix_hosts() {
action=ssh
quiet=
tty=
login=
options=()
domain=
ssh=
parse_opts + "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
-q quiet=1 \
-t tty=1 \
-q,--quiet quiet=1 \
-t,--tty tty=1 \
-l:,--login: login= \
-o options \
-d:,--domain: domain= \
-S:,--ssh ssh= \
-R,--remove action=remove \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
@ -108,7 +126,7 @@ if [ "$action" == "ssh" ]; then
hosts=("$1"); shift
fix_hosts
args=(${quiet:+-q} ${tty:+-t})
args=(${quiet:+-q} ${tty:+-t} ${login:+-l "$login"})
for option in "${options[@]}"; do
args=("${args[@]}" -o "$option")
done
@ -119,6 +137,7 @@ if [ "$action" == "ssh" ]; then
for host in "${hosts[@]}"; do
[ -n "$showtitle" ] && etitle "$host"
splituserhost "$host" user host
[[ "$host" == *.* ]] || host="$host${domain:+.$domain}"
"$ssh" "${user:+$user@}$host" "${args[@]}"
[ -n "$showtitle" ] && eend
done