utiliser ussh

This commit is contained in:
Jephte CLAIN 2014-05-02 22:51:36 +04:00
parent bb608c1382
commit ebe4835545
1 changed files with 9 additions and 22 deletions

31
cssh
View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 # -*- 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() { function display_help() {
uecho "$scriptname: Faire une connexion ssh en lançant automatiquement un screen sur l'hôte distant 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 USAGE
$scriptname [user@]host [options] $scriptname [user@]host [options]
OPTIONS Hormis l'argument user@host, il ne faut spécifier que des options. Sinon, le
note: les options de ssh doivent se trouver *APRES* [user@]host, pour simplifier comportement n'est pas défini."
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."
} }
source "$(dirname "$0")/ulib/ulib" && if [ $# -eq 1 -a "$1" == --help ]; then
urequire DEFAULTS || display_help
exit 1 exit 0
fi
ssh= exec "$scriptdir/ussh" -t "$@" -- /bin/bash -c \''
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 \''
function __ask() { function __ask() {
local r local r
read -p "$1" -t 2 r read -p "$1" -t 2 r