Re: fgets and ssh

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 11 April 2007 08:17, Benoît Rouits wrote:
> hello,
> in a minimal shell tutorial written in C, i have a read_line function
> that does:
>
> char* read_line()
> {
>     char* line=NULL;
>     line=(char*)malloc(512);
>     line=fgets(line,512,stdin);
>     return line;
> }
>
> then i parse this line to build a correct "argv" to pass to execvp()
> everything works well when i use ssh interactively.
>
> The problem i encounter is when i pass a command to ssh into this shell:
>
> ssh -v guest@localhost ls
> [...]
> guest@localhost's password:
> debug1: Authentication succeeded (password).
> debug1: channel 0: new [client-session]
> debug1: Entering interactive session.
> debug1: Sending environment.
> debug1: Sending env LANG = fr_FR.utf8
> debug1: Sending command: ls
> ( here the shell waits )
>
> the shell still waits for ls and i have to retype intaractively "ls" to
> get the correct result:
>
> ls
> debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
> Desktop
> Examples
> debug1: channel 0: free: client-session, nchannels 1
> debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 61.4 seconds
> debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
> debug1: Exit status 9
>
> any explanation would be greatly appreciated.
>
> +ben
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

When ssh is executed in the form 'ssh user@host command', the login shell of 
the user will be called like so: 'shell -c command'. That is, commands are 
not fed into the shell interactively on stdin, they're provided as arguments 
following a -c option flag.
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux