YASH(1)

NAME
yash - Yet Another Shell

SYNOPSIS
yash [options] [filename [args...]]
yash [options] -c command [command_name [args...]]
yash [options] -s [args...]

DESCRIPTION
yash is a command line shell that conforms to the POSIX.1 (IEEE Std 1003.1, 2008 Edition) standard for the most part. Actually, it is much more POSIX-compliant than other shell like bash and zsh.

yash also has its own features beyond POSIX, such as:

   * global aliases
   * random numbers
   * socket redirections and other special redirections
   * right prompt
   * command completion

OPTIONS
set - set shell options and positional parameters
      set [-abefhmnuvxC] [+abefhmnuvxC] [-o option] [+o option] [--] [arg...]
      set -o
      set +o
The first form enables or disables the specified shell options and/or sets positional parameters to <arg>s. If no <arg>s are given, the positional parameters are not changed.
If no options or <arg>s are given at all, a list of all existing variables is printed. To clear all positional parameters, use `set --'.
The second form prints the current settings of the shell options in a human- readable form.
The third form prints commands that can be used to restore the current option settings later.

-h, --help
    Show this help message and exit

-a --allexport
    Any variable is exported when assigned.

-b --notify
    When the status of a job is changed, it is notified immediately.

--notifyle
    Similar to -b, but only notify during line-editing. Ignored if -b is set.

-e --errexit
    Exit the shell immediately when any simple command returns a non-zero status.

+f --glob
    Perform pathname expansion (globbing).

--caseglob
    Perform pathname expansion case-sensitively.

--dotglob
    In pathname expansion, `*' and `?' match a `.' at the beginning of the filename.

--markdirs
    In pathname expansion, directory pathnames have a `/' at the ends.

--extendedglob
    Enable extended pathname expansion.

--nullglob
    In pathname expansion, patterns that do not match any pathname are removed from the command line rather than left as is.

-h --hashondef
    When a function is defined, all the commands in the function are registered in the command path cache.

-m --monitor
    Enable job control. All jobs are run in their own process group. When the status of a job is changed, the status is reported before the next prompt. This option is enabled by default for an interactive shell.

+n --exec
    Execute commands. This option cannot be disabled in an interactive shell.

+u --unset
    Expand an undefined variable to an empty string.

-v --verbose
    Echo each command to the standard error before execution.

-x --xtrace
    After each command line is expanded, the expanded line is printed to the standard error.

+C --clobber
    Allow redirections to overwrite existing files.

--ignoreeof
    Do not exit when an EOF is entered. This option is effective in an interactive shell only.

--braceexpand
    Enable brace expansion.

--curasync, --curbg, --curstop
    A background job becomes the current job when
           (curasync) invoked as an asynchronous command
           (curbg) resumed by the bg built-in
           (curstop) stopped.
    (These options are enabled by default)

--histspace
    Do not save lines that start with a space in the history.

--posixly-correct
    Make the shell behave as the POSIX shell.

--vi
    Enable vi-like editing.

--emacs
    Enable emacs-like editing.

--le-convmeta
    Treat 8th bit of input as a meta-key flag (regardless of terminfo).

--le-noconvmeta
    Do not treat 8th bit of input as a meta-key flag.

--le-visiblebell
        Alert with a flash rather than a bell.

--le-promptsp
    Move cursor to beginning of line each time when starting line-editing. (enabled by default)

--le-alwaysrp
    Make the right prompt always visible on the screen.

--le-compdebug
    Print debugging information during command line completion.

Options can be disabled by using `+' instead of `-'. For example, `set +a' or `set ++allexport' disables the allexport option. Prefixing `no' to a long option also disables the option. For example, `set --nounset' disables the unset option.

AUTHOR
yash was written by Magicant <magicant@users.sourceforge.jp>.

This manual page was written by Khalid El Fathi <khalid@elfathi.fr>, for the Debian project (and may be used by others).