From: Razvan Deaconescu Date: Sun, 11 Apr 2010 11:28:15 +0000 (+0300) Subject: use a wrapper function for add, delete, list keys X-Git-Tag: getopt_long~96 X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=commitdiff_plain;h=ea726250e13ef1c963e0f7f100811d2c97d8d1e0;p=cs-p2p-next.git use a wrapper function for add, delete, list keys --- diff --git a/scripts/admin/clusterctl b/scripts/admin/clusterctl index 4e96be6..e0ef70d 100755 --- a/scripts/admin/clusterctl +++ b/scripts/admin/clusterctl @@ -36,7 +36,7 @@ list_keys() } # remove blank lines in authorized_keys file -clear_keys() +clear_empty() { this_user=$1 this_host=$2 @@ -88,6 +88,24 @@ add_key() " } +wrapper() +{ + this_user=$1 + this_host=$2 + + if test ! -z "$add_keyfile"; then + add_key "$this_user" "$this_host" "$add_keyfile" + elif test ! -z "$delete_expr"; then + delete_keys "$this_user" "$this_host" "$delete_expr" + elif test ! -z "$get_expr"; then + get_key "$this_user" "$this_host" "$get_expr" + elif test $empty -eq 1; then + clear_empty "$this_user" "$this_host" + elif test $list -eq 1; then + list_keys "$this_user" "$this_host" + fi +} + usage() { echo "Usage:" >&2 @@ -139,112 +157,24 @@ while getopts "hvr:c:u:a:d:g:le" option; do esac done -if ! test -z $add_keyfile; then - if test "$remotehost" == "all"; then - for host in ${remote_hosts[*]}; do - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - add_key $user $host $add_keyfile - done - continue - fi - add_key $remoteuser $host $add_keyfile - done - else - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - add_key $user $remotehost $add_keyfile - done - else - add_key $remoteuser $remotehost $add_keyfile - fi - fi -fi - -if ! test -z $delete_expr; then - if test "$remotehost" == "all"; then - for host in ${remote_hosts[*]}; do - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - delete_keys $user $host $delete_expr - done - continue - fi - delete_keys $remoteuser $host $delete_expr - done - else - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - delete_keys $user $remotehost $delete_expr - done - else - delete_keys $remoteuser $remotehost $delete_expr - fi - fi -fi - -if ! test -z $get_expr; then - if test "$remotehost" == "all"; then - for host in ${remote_hosts[*]}; do - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - get_key $user $host $get_expr - done - continue - fi - get_key $remoteuser $host $get_expr - done - else - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - get_key $user $remotehost $get_expr - done - else - get_key $remoteuser $remotehost $get_expr - fi - fi -fi - -if test $empty -eq 1; then - if test "$remotehost" == "all"; then - for host in ${remote_hosts[*]}; do - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - clear_keys $user $host - done - continue - fi - clear_keys $remoteuser $host - done - else - if test "$remoteuser" == "all"; then - for user in ${remote_users[*]}; do - clear_keys $user $remotehost - done - else - clear_keys $remoteuser $remotehost - fi - fi -fi - -if test $list -eq 1; then +if test ! -z "$add_keyfile" -o ! -z "$delete_expr" -o ! -z "$get_expr" -o "$empty" -eq 1 -o "$list" -eq 1; then if test "$remotehost" == "all"; then for host in ${remote_hosts[*]}; do if test "$remoteuser" == "all"; then for user in ${remote_users[*]}; do - list_keys $user $host + wrapper $user $host done continue fi - list_keys $remoteuser $host + wrapper $remoteuser $host done else if test "$remoteuser" == "all"; then for user in ${remote_users[*]}; do - list_keys $user $remotehost + wrapper $user $remotehost done else - list_keys $remoteuser $remotehost + wrapper $remoteuser $remotehost fi fi fi