diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-08-09 21:26:38 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-08-09 21:26:38 +0200 |
commit | ba9a45a69c3b508abc65bf4e4aff9ad03e57e4d0 (patch) | |
tree | 336b0f5e665d066b393bf86901ac2830bccb261b | |
parent | efd7d7f190eed501debf11dc9f0337ccf52e89ba (diff) | |
download | cssh-ba9a45a69c3b508abc65bf4e4aff9ad03e57e4d0.tar.gz cssh-ba9a45a69c3b508abc65bf4e4aff9ad03e57e4d0.tar.bz2 |
accepting command to execute now as parameters
-rw-r--r-- | src/cssh.c | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -297,8 +297,26 @@ int main( int argc, char *argv[] ) ssh_free( session ); exit( EXIT_FAILURE ); } - - rc = ssh_channel_request_exec( channel, "ps -alef" ); + + char cmd[1024]; + cmd[0] = '\0'; + if( args_info.inputs_num > 1 ) { + for( int i = 1; i < args_info.inputs_num; i++ ) { + if( i != 1 ) { + strncat( cmd, " ", sizeof( cmd ) - strlen( cmd ) - 1 ); + } + strncat( cmd, args_info.inputs[i], sizeof( cmd ) - strlen( cmd ) - 1 ); + } + } + if( cmd[0] == '\0' ) { + fprintf( stderr, "ERROR: Empty command, no interactive CLI supported currently\n" ); + ssh_channel_free( channel ); + ssh_disconnect( session ); + ssh_free( session ); + exit( EXIT_FAILURE ); + } + + rc = ssh_channel_request_exec( channel, cmd ); if( rc != SSH_OK ) { ssh_channel_close( channel ); ssh_channel_free( channel ); |