Mt Xia: Technical Consulting Group

Business Continuity / Disaster Recovery / High Availability
Data Center Automation / Audit Response / Audit Compliance

-
Current Location
-

css
  Downloads
    Scripts
      Korn
        K93_Unix

-

digg Digg this page
del.icio.us Post to del.icio.us
Slashdot Slashdot it!



#!/usr/bin/ksh93
################################################################
function usagemsg_ls_k93 {
  print -- "
Program: ls_k93

The ls_k93 function writes to standard output a message containing the 
system identifications (ID) for a specified user.  The system IDs 
are numbers which identify users and user groups to the system.

Usage: ${1##*/} [-vV] [-1adlrF] [FILE]...

    Where:
      -v = Verbose mode
      -V = Very Verbose mode

Author: Dana French (dfrench@mtxia.com)    Copyright 2004

\"AutoContent\" enabled"
  return 0
}
################################################################
#### 
#### Description:
#### 
#### The ls_k93 function writes to standard output a message
#### containing the system identifications (ID) for a
#### specified user.  The system IDs are numbers which
#### identify users and user groups to the system. 
#### 
#### Assumptions:
#### 
#### Dependencies:
#### 
#### Products:
#### 
#### Configured Usage:
#### 
#### Details:
#### 
################################################################
function ls_k93 {
  typeset TRUE="0"
  typeset FALSE="1"
  typeset VERBOSE="${FALSE}"
  typeset VERYVERB="${FALSE}"
  typeset DOTFILES="${FALSE}"
  typeset FILETAG="${FALSE}"
  typeset REVERSE="${FALSE}"
  typeset DIREXPAND="${TRUE}"
  typeset LONGLIST="${FALSE}"
  typeset LONGLINE=""
  typeset SCRWID="80"
  typeset IIDX IPOS ILEN
  typeset JIDX JPOS JLEN
  typeset TAG

  while getopts ":1adlrF" OPTION
  do
    case "${OPTION}" in
        '1') SCRWID="0";;
        'a') DOTFILES="${TRUE}";;
        'd') DIREXPAND="${FALSE}";;
        'l') LONGLIST="${TRUE}";;
        'F') FILETAG="${TRUE}";;
        'r') REVERSE="${TRUE}";;
        'v') VERBOSE="${TRUE}";;
        'V') VERYVERB="${TRUE}";;
        '?') usagemsg_ls_k93 "${0}" && return 1 ;;
    esac
  done
 
  shift $(( ${OPTIND} - 1 ))

################################################################

#### 
#### If a list of files and/or directories were specified on the
#### command, assign this list of files and dirs to an array,
#### one array element per file/directory.
#### If no files or directories were specified on the command
#### line, and the '-a' option was specified, gather a list
#### of all files in the current directory including the
#### 'dot' files.  If the -a option was not specified, then
#### don't include the 'dot' files.
#### 

  IFS=""
  (( ${#} != 0 )) && FILELIST=( "${@}" )
  (( ${#} == 0 )) && (( DOTFILES == TRUE  )) &&  FILELIST=( . .. .[!.]* * )
  (( ${#} == 0 )) && (( DOTFILES == FALSE )) &&  FILELIST=( * )
  IFS=$' \t\n'

#### 
#### If there were no 'dot' files in the current directory,
#### the third array position may contain a literal
#### representation of the korn shell pattern used to attempt
#### to gather the 'dot' files.  If so reset this array
#### position to NULL.  Also determine the number of
#### elements in the array for use in an arithmetic for loop.
#### 

  [[ "_${FILELIST[2]##*/}" = '_.[!.]*' ]] && FILELIST[2]=""
  ILEN="${#FILELIST[*]}"

#### Loop through each array position to display each file in
#### the list.  Begin at array element 0 and continue through
#### to the last array position.

  for (( IIDX=0; IIDX /dev/null 2>&1
          then
              print -u 2 "ls_k93: ${FILE}: Permission denied"
              continue
          fi

#### Generate a list of files in the new directory and save
#### this list to a new array.

          unset DIRLIST
          IFS=""
          (( DOTFILES == TRUE )) &&
              DIRLIST=( . .. .[!.]* * ) ||
              DIRLIST=( * )


#### 
#### If there were no 'dot' files in the new directory,
#### the third array position may contain a literal
#### representation of the korn shell pattern used to attempt
#### to gather the 'dot' files.  If so reset this array
#### position to NULL.  Also determine the number of
#### elements in the array for use in an arithmetic for loop.
#### 

          [[ "_${DIRLIST[2]##*/}" = '_.[!.]*' ]] && DIRLIST[2]=""
          JLEN="${#DIRLIST[*]}"

#### Loop through each array position to display each file in
#### the list.  Begin at array element 0 and continue through
#### to the last array position.

          for (( JIDX=0; JIDX

ls_k93