From ebe48355459aeb6cc4a9eb2ed685c1f8ac61ac08 Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Fri, 2 May 2014 22:51:36 +0400 Subject: [PATCH] utiliser ussh --- cssh | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/cssh b/cssh index 57a730a..3e364b4 100755 --- a/cssh +++ b/cssh @@ -1,5 +1,7 @@ #!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 +source "$(dirname "$0")/ulib/ulib" || exit 1 +urequire DEFAULTS function display_help() { uecho "$scriptname: Faire une connexion ssh en lançant automatiquement un screen sur l'hôte distant @@ -7,31 +9,16 @@ function display_help() { USAGE $scriptname [user@]host [options] -OPTIONS -note: les options de ssh doivent se trouver *APRES* [user@]host, pour simplifier -leur analyse. -L'option -t de ssh est forcée, pour permettre la connexion par screen -Les options suivantes doivent se trouver *AVANT* le premier argument: - -S SSH - Spécifier l'exécutable à utiliser pour lancer ssh." +Hormis l'argument user@host, il ne faut spécifier que des options. Sinon, le +comportement n'est pas défini." } -source "$(dirname "$0")/ulib/ulib" && -urequire DEFAULTS || -exit 1 +if [ $# -eq 1 -a "$1" == --help ]; then + display_help + exit 0 +fi -ssh= -parse_opts + "${PRETTYOPTS[@]}" \ - --help '$exit_with display_help' \ - -S:,--ssh ssh= \ - @ args -- "$@" && set -- "${args[@]}" || die "$args" - -userhost="$1"; shift -[ -n "$userhost" ] || die "Vous devez spécifier l'hôte sur lequel faire la connexion" - -[ -n "$ssh" ] || ssh=ssh - -exec "$ssh" -t "$@" "$userhost" /bin/bash -c \'' +exec "$scriptdir/ussh" -t "$@" -- /bin/bash -c \'' function __ask() { local r read -p "$1" -t 2 r