From 9cf51d0ce7f7264d59822e6a5524d08575d62643 Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Fri, 13 Jun 2014 08:42:45 +0400 Subject: [PATCH] utiliser l'option --parse de ussh pour construire la ligne de commande finale --- cssh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/cssh b/cssh index 3e364b4..28d6438 100755 --- a/cssh +++ b/cssh @@ -9,8 +9,9 @@ function display_help() { USAGE $scriptname [user@]host [options] -Hormis l'argument user@host, il ne faut spécifier que des options. Sinon, le -comportement n'est pas défini." +En principe, hormis l'argument user@host, il ne faudrait spécifier que des +options. Dans le cas où d'autres arguments seraient spécifiés, les meilleurs +efforts sont faits pour lancer ces commandes avant screen." } if [ $# -eq 1 -a "$1" == --help ]; then @@ -18,7 +19,12 @@ if [ $# -eq 1 -a "$1" == --help ]; then exit 0 fi -exec "$scriptdir/ussh" -t "$@" -- /bin/bash -c \'' +vars="$("$scriptdir/ussh" --parse "$@")" || die +eval "$vars" +[ "${#hosts[*]}" -gt 0 ] || die "Vous devez spécifier l'hôte sur lequel se connecter" + +cmd="'$(quoted_args "${args[@]}") +"' function __ask() { local r read -p "$1" -t 2 r @@ -65,3 +71,7 @@ Voulez-vous lancer une session screen? [On] "; then __auto_screen '\' + +for host in "${hosts[@]}"; do + ${exec:+exec} "$ssh" "${options[@]}" -t "$host" -- /bin/bash -c "$cmd" +done