ZOIDBUILTINS(1)       User Contributed Perl Documentation      ZOIDBUILTINS(1)



NAME
       zoidbuiltins - Zoidberg's builtins

DESCRIPTION
       This is a listing of the default builtins of the Zoidberg shell.  Many
       of these are defined in the default plugins, so a modified shell can
       have different builtin commands.

COMMANDS
       alias
       alias name
       alias name=command
       alias name command
           Make name an alias to command. Aliases work like macros in the
           shell, this means they are substituted before the commnd code is
           interpreted and can contain complex statements.

           Without command shows the alias defined for name if any; without
           arguments lists all aliases that are currently defined.

           Aliases are simple substitutions at the start of a command string.
           If you want something more intelligent like interpolating arguments
           into a string define a builtin command; see hash.

       bg job_spec
           Run the job corresponding to jobspec as an asynchronous background
           process.

           Without argument uses the "current" job.

       cd [-v|--verbose] [dir|-|(+|-)hist_number]
       cd (-l|--list)
           Changes the current working directory to dir.  When used with a
           single dash changes to OLDPWD.

           This command uses the environment variable 'CDPATH'. It serves as a
           search path when the directory you want to change to isn't found in
           the current directory.

           This command also uses a directory history.  The '-number' and
           '+number' switches are used to change directory to an positive or
           negative offset in this history.

       dirs
           Output the current dir stack.

           TODO some options

           Note that the dir stack is ont related to the dir history.  It was
           only implemented because historic implementations have it.

       disown
           TODO

       eval cmd
           Eval cmd like a shell command. Main use of this is to run code
           stored in variables.

       exec cmd
           Execute cmd. This effectively ends the shell session, process flow
           will NOT return to the prompt.

       export var=value
           Set the environment variable var to value.

           TODO explain how export moved varraibles between the perl namespace
           and the environment

       false
           A command that always returns an error without doing anything.

       fc [-r][-e editor] [first [last]]
       fc -l [-nr] [first [last]]
       fc -s [old=new] [first [last]]
           "Fix command", this builtin allows you to edit and re-execute
           commands from the history. first and last are either command
           numbers or strings matching the beginning of a command; a negative
           number is used to designate commands by counting back from the
           current one. Use the '-l' option to list the commands in the
           history, and the '-n' switch to surpress the command numbers in the
           listing.The '-r' switch reverses the order of the commands.  The
           '-s' switch re-executes the commands without editing.

           first and last default to '-16' and '-1' when the '-l' option is
           given.  Otherwise first defaults to '-1' and last defaults to
           first.

           Note that the selection of the editor is not POSIX compliant but
           follows bash, if no editor is given using the '-e' option the
           environment variables 'FCEDIT' and 'EDITOR' are both checked, if
           neither is set, vi is used.  ( According to POSIX we should use
           'ed' by default and probably ignore the 'EDITOR' varaiable, but I
           don't think that is "What You Want" )

           Following zsh setting the editor to '-' is identical with using the
           -s switch.

           Also note that fc removes itself from the history and adds the
           resulting command instead.

           Typically r is aliased to 'fc -s' so r will re-execute the last
           command, optionally followed by a substitution and/or a string to
           match the begin of the command.

           TODO: regex/glob substitution for '-s' switch; now only does string
           substitution.

       fg job_spec
           Run the job corresponding to jobspec as a foreground process.

           Without argument uses the "current" job.

       GetHistory
           Returns the commandline history either as an array reference or as
           an array.

           This routine does not use the history file.

       hash location
       hash -r
           TODO

           Command to manipulate the commands hash and command lookup logic.

       help [topic|command command]
           Prints out a help text.

       history [--type type] [--read] [-n|--nonu] [-r|--reverse] [first
       [last]]
           Returns (a part of) the history. By default it tries to find the
           commandline history (depending on GetHistory), but the '--read'
           option forces reading the history file. To get other log types,
           like 'pwd', use the '--type' option.  The '--nonu' option
           surpressees line numbering for the terminal output.

           The arguments first and last can either be a positive or negative
           integer, representing the command number or reverse offset, or a
           string matching the begin of the command. If only one integer is
           given last defaults to '-1'; if only one string is given last
           defaults to first. As a bonus you can supply a regex reference
           instead of a string when using the perl interface.

           Note that unlike fc the history command is not specified by posix
           and the implementation varies widely for different shells. In zoid,
           fc is build on top of history, so options for history are chosen
           consistently with fc.

       jobs [-l,--list|-p,--pgids] job_spec ...
           Lists current jobs.

           If job specs are given as arguments only lists those jobs.

           The --pgids option only lists the process group ids for the jobs
           without additional information.

           The --list option gives more verbose output, it adds the process
           group id of the job and also shows the stack of commands pending
           for this job.

           This command is not POSIX compliant. It uses '-l' in a more verbose
           way then specified by POSIX. If you wat to make sure you have POSIX
           compliant verbose output try: "jobs -l | {! /^\t/}g".

       kill -l
       kill [-w | -s sigspec|-n signum|-sigspec] (pid|job_spec)
           Sends a signal to a process or a process group.  By default the
           "TERM" signal is used.

           The '-l' option list all possible signals.

           The -w or --wipe option is zoidberg specific. It not only kills the
           job, but also wipes the list that would be executed after the job
           ends.

       log string type
           Adds string to the history file with the current timestamp and the
           supplied type tag. The type defaults to "log".  If the type is set
           to "hist" the entry will become part of the command history after
           the history file is read again.

       newgrp
           TODO

       popd dir
           Pops a directory from the dir stack and cds to that directory.

           TODO some options

       pushd dir
           Push dir on the dir stack.

           TODO some options

       pwd Prints the current PWD.

       read [-r] var1 var2 ..
           Read a line from STDIN, split the line in words and assign the
           words to the named enironment variables.  Remaining words are
           stored in the last variable.

           Unless '-r' is specified the backslash is treated as an escape char
           and is it possible to escape the newline char.

       readline
           Returns a line of input.

       reload module [module, ..]
       reload file [file, ..]
           Force (re-)loading of a module file. Typically used for debugging
           modules, where you reload the module after each modification to
           test it interactively.

           TODO: recursive switch that scans for 'use' statements

       select
           Given a list of items presents the user with a menu and returns the
           choice made or undef.

       set [+-][abCefnmnuvx]
       set [+o|-o] option
           Set or unset a shell option. Although sometimes confusing a '+'
           switch unsets the option, while the '-' switch sets it.

           Short options correspond to the following names:

                   a  =>  allexport  *
                   b  =>  notify
                   C  =>  noclobber
                   e  =>  errexit    *
                   f  =>  noglob
                   m  =>  monitor    *
                   n  =>  noexec     *
                   u  =>  nounset    *
                   v  =>  verbose
                   x  =>  xtrace     *
                   *) Not yet supported by the rest of the shell

           See zoiduser for a description what these and other options do.

           FIXME takes also hash arguments

       setenv var value
           Like export, but with a slightly different syntax.

       SetHistory
           Takes either an array or an array reference and uses that as new
           commandline history.

           This routine does not alter the history file.

       source file
           Run the perl script file. This script is NOT the same as the
           commandline syntax. Try using Zoidberg::Shell in these scripts.

       symbols [-a|--all] [class]
           Output a listing of symbols in the specified class.  Class defaults
           to the current perl namespace, by default "Zoidberg::Eval".

           All symbols are prefixed by their sigil ('$', '@', '%', '&' or '*')
           where '*' is used for filehandles.

           By default sub classes (hashes containing '::') and special symbols
           (symbols without letters in their name) are hidden. Use the --all
           switch to see these.

       true
           A command that never fails and does absolutely nothing.

       umask
           TODO

       unalias name
           Remove an alias definition.

       unsetenv var
           Set var to undefined.

       wait
           TODO

       which [-a|--all|-m|--module] ITEM
           Finds ITEM in PATH or INC if the -m or --module option was used.
           If the -a or --all option is used all it doesn't stop after the
           first match.

           TODO it should identify aliases

           TODO what should happen with contexts other then CMD ?

SEE ALSO
       zoiduser(1), perl(1), <http://zoidberg.sourceforge.net>



perl v5.12.2                      2006-02-11                   ZOIDBUILTINS(1)
