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