Current Path : /compat/linux/usr/share/doc/bash-3.2/functions/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/usr/share/doc/bash-3.2/functions/coshell.README |
Date: Fri, 21 Sep 2001 14:50:29 -0400 From: "Jason M. Felice" <jfelice@cronosys.com> To: bash-maintainers@gnu.org, chet@po.cwru.edu Subject: Bash co-processes functions Message-ID: <20010921145029.A6093@argo.eraserhead.net> Mime-Version: 1.0 Attached to this message you will find coprocess.bash and coshell.bash. Here's a brief synopsis of use: coprocess open telnet localhost while coprocess read il ; do echo "$il" case "$il" in *ogin:*) coprocess print 'user' ;; *ord:*) echo 'pass' |coprocess print --stdin ;; *$ *) coprocess print 'exit' break ;; esac done coprocess close And here's an example of the coshell function: coshell open ssh -l root otherbox coshell eval hostname coshell ls -l if coshell test -d /tmp ; then echo 'otherbox has a /tmp!' ; fi coshell sendfile /var/lib/upgrade.rpm /tmp/test.rpm || exit $? coshell eval rpm -ivh /tmp/test.rpm || exit $? coshell eval rm -f /tmp/test.rpm || exit $? coshell close exit 0 There are a few minor issues that I'd like to work out, but it works well enough for me ;-) The issues are: - Shell quoting issue with 'coshell eval' commands - need to somehow re-quote words. - Interactive commands hang 'coshell eval', tried redirecting in </dev/null to executed command, but it caused strange shell exit problems. - Some way to copy stdin from local coshell eval to remote shell. Probably logically impossible, but would be wonderfully useful. I'm using it for writing scripts to publish websites and other scripts to co-located servers.