Yash: yet another shell
http://yash.sourceforge.jp/
=======================


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


Yash is free software distributed under the terms of GNU General
Public License (GPL) version 2. You can copy, modify, use, and/or
distribute this software as long as you obey the terms of GPL, but
note that there is NO WARRANTY. See the file named COPYING for the
full text of GPL.

See the file named INSTALL to see how to build and install yash.

Currently, a manual for yash is available only in Japanese. Sorry.


===== Implementation Notes =====

 * In C, a null character represents the end of string. If input from
   a file or a string in itself contains a null character, the
   following characters will be neglected.
 * We assume that an overflow in signed integer arithmetic or type
   conversion silently yields an implementation-defined integer
   rather than resulting in an error.
 * The GCC extension keyword `__attribute__' is used in the source
   codes. When not compiled with GCC, this keyword is removed by
   preprocessor, so generally there is no harm. But if your compiler
   uses this keyword for any other purpose, compilation may fail.
   Additionally, some other identifiers starting with '_' may cause
   compilation errors on some rare environments.
 * Some signals are assumed to have the specific numbers:
     SIGHUP=1 SIGINT=2 SIGQUIT=3 SIGABRT=6
     SIGKILL=9 SIGALRM=14 SIGTERM=15
 * File permission flags are assumed to have the specific values:
     0400=user read    0200=user write   0100=user execute
     0040=group read   0020=group write  0010=group execute
     0004=other read   0002=other write  0001=other execute
 * The character categorization in locales other than the POSIX
   locale is assumed upward compatible with the POSIX locale.
 * When -e (-o errexit) option is set, failure of the last command of
   an and/or list makes the shell exit. This behavior is not strictly
   POSIX-compliant, but most existing shells behave this way.
 * The "nolog" option is not supported: it is silently ignored.
 * According to POSIX, the variable 'PS1' is subject to parameter
   expansion. Yash also performs command substitution and arithmetic
   expansion on 'PS1'.
 * Aliases containing newlines are not supported.


======================
Magicant <magicant@users.sourceforge.jp>

Comments, suggestions, and bug reports are welcome.
