Hi all,
I would like to know how to use the libssh2_channel_write() command to write a command to a shell. My code is copied from: http://www.libssh2.org/examples/ssh2.html I have accquired a shell and a pty. In the sample code, there is the following comment: /* At this point the shell can be interacted with using * libssh2_channel_read() * libssh2_channel_read_stderr() * libssh2_channel_write() * libssh2_channel_write_stderr() * * Blocking mode may be (en|dis)abled with: libssh2_channel_set_blocking() * If the server send EOF, libssh2_channel_eof() will return non-0 * To send EOF to the server use: libssh2_channel_send_eof() * A channel can be closed with: libssh2_channel_close() * A channel can be freed with: libssh2_channel_free() */ I then attempted to use libssh2_channel_write() to send a command. Here's what I've done: int rc = 0; char command[50] = "mkdir ~/testfolder\n"; rc = libssh2_channel_write(channel, command, sizeof(command)); fprintf(stderr, "bytes written %d\n", rc); libssh2_channel_send_eof(channel); I get a positive number of bytes written. However the command never executes (the folder is not created). Can any one tell me what went wrong? Thanks!
_______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
