utiliser l'option --parse de ussh pour construire la ligne de commande finale

This commit is contained in:
Jephte CLAIN 2014-06-13 08:42:45 +04:00
parent af77462313
commit 9cf51d0ce7
1 changed files with 13 additions and 3 deletions

16
cssh
View File

@ -9,8 +9,9 @@ function display_help() {
USAGE USAGE
$scriptname [user@]host [options] $scriptname [user@]host [options]
Hormis l'argument user@host, il ne faut spécifier que des options. Sinon, le En principe, hormis l'argument user@host, il ne faudrait spécifier que des
comportement n'est pas défini." 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 if [ $# -eq 1 -a "$1" == --help ]; then
@ -18,7 +19,12 @@ if [ $# -eq 1 -a "$1" == --help ]; then
exit 0 exit 0
fi 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() { function __ask() {
local r local r
read -p "$1" -t 2 r read -p "$1" -t 2 r
@ -65,3 +71,7 @@ Voulez-vous lancer une session screen? [On] "; then
__auto_screen __auto_screen
'\' '\'
for host in "${hosts[@]}"; do
${exec:+exec} "$ssh" "${options[@]}" -t "$host" -- /bin/bash -c "$cmd"
done