Login script

This section provides an example of the login script that is executed when users log in.

It is intended to be an example, and we expect you to tailor it according to your needs. The login script is invoked via the /etc/passwd file.
#! /bin/sh

  # Invoked directly by login mechanism such as telnetd, or sshd.
  # This file is specified in the /etc/passwd file as being the shell. This
  # gives us the control we need for users that should never be allowed a
  # shell prompt.
  #
  # For backward compatibility we check to see if we are coming from a
  # non-sshd source. If so then we invoke the shell as usual and have
  # it source all the login scripts
  #
  # Arguments passed are <COMMAND> <PORT> <FEID> <FEID2>
  #
  # <COMMAND> string must match the case statements.
  #

  # set your env vars here
  export FGLDIR=/fjs/f4gl/genero-training
  export FGLRUN=fglrun
  export FGLGUI=1


  # The command line arguments passed from the GDC will be here. If there
  # aren't any then we abort.

  if [[ "$SSH_TTY" == "" && "$SSH_CONNECTION" == "" ]]
  then
  # coming in from telnet

  echo -n "$ " # fake shell prompt for GDC
  read APPLICATION FGLSERVER _FGLFEID _FGLFEID2

  if [[ "$APPLICATION" == "" ]]
  then
  echo "exiting due to bad arguments"
  sleep 5 # give time to view error because window will close
  exit 0
  fi

  export FGLSERVER
  export _FGLFEID
  export _FGLFEID2

  else
  # coming in from ssh and sshd

  if [[ "$1" == "" || "$1" != "-c" ]]
  then
  echo "exiting due to bad arguments"
  sleep 5 # give time to view error because window will close
  exit 0
  fi

  shift
  args=(`echo $1`)
  export APPLICATION="${args[0]}"
  export FGLSERVER="127.0.0.1:${args[1]}"
  export _FGLFEID="${args[2]}"
  export _FGLFEID2="${args[3]}"

  fi

  #echo "APPLICATION=$APPLICATION"
  #echo "FGLSERVER=$FGLSERVER"

  # Add case statements according to 1st value passed from the GDC command line.
  # Never execute the value passed directly as this would be a security hole
  # allowing the client to dictate what gets run.
  #
  case "$APPLICATION" in
  YOURAPP) cd $FGLDIR/demo
  /bin/bash --login -c "$FGLRUN demo"
  ;;

  DEMO) cd $FGLDIR/demo
  $FGLDIR/bin/$FGLRUN demo
  ;;

  # SHELL) /bin/bash # don't leave this in for production
  # ;;

  AUTOPORT) /home/portfind/autoportfind -e
  exit 0
  ;;

  PASSWD) /usr/bin/passwd
  exit 0
  ;;

  *) echo "Unknown application '$APPLICATION'"
  sleep 5 # allow time to read message
  ;;
  esac