KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21585/root/usr/share/doc/bash-3.2/functions/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21585/root/usr/share/doc/bash-3.2/functions/coshell.bash
# vi:set sts=2 sw=2 ai:
#
# coshell.bash - Control shell coprocesses (see coprocess.bash).
#

function coshell ()
{
  while (( $# > 0 )) ; do
    case "$1" in
      #
      # coshell open
      #
      o|op|ope|open)
	shift
	coprocess open "$@"
	local ret=$?

	# This should eat any ssh error messages or what not.
	coshell eval : >/dev/null 2>&1
	return $ret
	;;

      #
      # coshell close
      #
      c|cl|clo|close)
	shift
	coprocess close "$@"
	return $?
	;;

      #
      # coshell eval
      #
      e|ev|eva|eval)
	shift
	local cookie=$RANDOM
	if (( $# == 0 )) ; then
	  echo "coshell eval: no argumentsl" >&2
	  return 1
	fi
	if [ x$coprocess_pid = x ] ; then
	  echo "coshell eval: no active coshell" >&2
	  return 1
	fi

	coprocess print "$@" 
	coprocess print "coprocess_rc=\$?"
	coprocess print "printf 'coprocess-$cookie----\n%d\n' \$coprocess_rc"
	if [ x$coprocess_pid = x ] ; then
	  return 0
	fi

	local ol
	while coprocess read ol ; do
	  case "$ol" in
	    *coprocess-$cookie----*)
	      ol="${ol%coprocess-$cookie----}"
	      echo -n "$ol"
	      break
	      ;;
	  esac
	  echo "$ol"
	done
	coprocess read ol
	return $ol
	;;

      #
      # coshell sendfile
      #
      s|se|sen|send|sendf|sendfi|sendfil|sendfile)
	shift
	if (( $# != 2 )) ; then
	  echo "coshell sendfile: syntax is 'coshell sendfile SRC TARGET'" >&2
	  return 1
	fi
	if [ x$coprocess_pid = x ] ; then
	  echo "coshell sendfile: no active coshell" >&2
	  return 1
	fi

	local target=$2
	if coshell test -d "$target" ; then
	  target="$target/${1##*/}" 
	fi

	coprocess print "uudecode <<END_OF_FILE"
	uuencode -m "$target" <$1 |coprocess print --stdin
	coshell eval "END_OF_FILE"
	return $?
	;;

      #
      # coshell getfile
      #
      g|ge|get|getf|getfi|getfil|getfile)
	shift
	if (( $# != 2 )) ; then
	  echo "coshell getfile: syntax is 'coshell getfile SRC TARGET'" >&2
	  return 1
	fi
	if [ x$coprocess_pid = x ] ; then
	  echo "coshell getfile: no active coshell" >&2
	  return 1
	fi

	local target=$2
	if test -d "$target" ; then
	  target="$target/${1##*/}" 
	fi

	coshell eval uuencode -m "$target" "<" "$1" |uudecode
	return $?
	;;

      *)
	coshell eval "$@"
	return $?
	;;
    esac
    shift
  done
  coprocess status
  return $?
}


Anon7 - 2021