8

Yash: yet another shell - a POSIX command line shell

 1 year ago
source link: https://yash.osdn.jp/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

a POSIX command line shell

This web page is also available in 日本語.

Yash, yet another shell, is a POSIX-compliant command line shell written in C99 (ISO/IEC 9899:1999). Yash is intended to be the most POSIX-compliant shell in the world while supporting features for daily interactive and scripting use. Notable features are:

  • Global aliases
  • Arrays
  • Socket redirection, pipeline redirection, and process redirection
  • Brace expansion and extended globbing
  • Fractional numbers in arithmetic expansion
  • Prompt command and command-not-found handler
  • Command line completion with predefined completion scripts for more than 100 commands
  • Command line prediction based on command history

Yash can be modified/redistributed under the terms of the GNU General Public License (Version 2) but the use of this program is without any warranty.

: Yash is an OSDN-hosted project. See also the project summary page.

Current Development Status

Yash now fully supports POSIX.1-2008 (IEEE Std 1003.1, 2016 Edition) except for the limitations listed in README.

Yash is stable. A maintenance update is released every three months or so. For the change history, see NEWS.

The source code is versioned in the Subversion repository and mirrored on GitHub.

Requirements

Yash is supposed to build and run on any POSIX.1-2001 environment with the Software Development Utilities and the C-Language Development Utilities options. Currently, yash is mainly tested on Fedora, macOS, and Cygwin.

Installation

The source tarball can be downloaded from the release page (or the release list).

On Fedora, the yash package can be installed by sudo dnf install yash. On Debian and Ubuntu, the yash package can be installed by sudo apt-get install yash. For macOS, MacPorts and Homebrew provide yash installation.

After installation, enter yash in the terminal to start yash. The manual can be viewed by man yash.

Basic Configuration

Initialization scripts

When yash is started as a login shell, it reads ~/.yash_profile. This file is a shell script in which you define environment variables using the export command.

When yash is started for an interactive use, it reads ~/.yashrc (after reading ~/.yash_profile if it is a login shell also). In this file, you make other configurations such as aliases, prompt strings, key bindings for command line editing, and command-not-found handler. Use the sample yashrc as a template for your ~/.yashrc.

Making yash your login shell

In many Unix-like OSes, a shell must be listed in /etc/shells to be set as a login shell. Edit this file and ensure that the path to yash is written in the file.

Then, run the chsh command in the terminal and follow instructions from the command. Depending on your system, you may have to use another command to change the login shell. See documentation on your system.

© 2009-2017 magicant / Last modified: 2017-01-18


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK