Why stdin is required to be overwritten in SSH?

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

 



Hi SSH,

I have put the ssh command in `script.sh`, with the code:

~~~
#!/usr/bin/env bash
ssh -q server date
~~~

And I have one `main.sh` to call `script.sh` as below.

~~~
#!/usr/bin/env bash
# vim: set noexpandtab tabstop=2:

while read -r run
do
./script.sh
done < <(seq 10)
~~~

The `script.sh` can be called only once, say

~~~
$ ./main.sh
Tue Oct 18 12:26:05 CDT 2016
~~~

But 10 runs are expected.

If I modify the stdin when calling, like `main1.sh` as below.

~~~
#!/usr/bin/env bash
# vim: set noexpandtab tabstop=2:

while read -r run
do
./script.sh < /dev/null
done < <(seq 10)
~~~

It will return the right 10 calling.

~~~
$ ./main1.sh
Tue Oct 18 12:28:24 CDT 2016
Tue Oct 18 12:28:24 CDT 2016
Tue Oct 18 12:28:25 CDT 2016
Tue Oct 18 12:28:25 CDT 2016
Tue Oct 18 12:28:26 CDT 2016
Tue Oct 18 12:28:26 CDT 2016
Tue Oct 18 12:28:27 CDT 2016
Tue Oct 18 12:28:27 CDT 2016
Tue Oct 18 12:28:28 CDT 2016
Tue Oct 18 12:28:29 CDT 2016
~~~

Could you tell me why `stdin` needs to be overwritten in SSH? Thanks.

My machine info is as below.

~~~
$ bash --version
GNU bash, version 4.3.42(1)-release (x86_64-apple-darwin15.0.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ ssh -V
OpenSSH_6.9p1, LibreSSL 2.1.8
~~~

Best regards,
Jin
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@xxxxxxxxxxx
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev



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

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux