HOME

TheInfoList



OR:

Stand-alone shell (sash) is a
Unix shell A Unix shell is a Command-line_interface#Command-line_interpreter, command-line interpreter or shell (computing), shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command languag ...
designed for use in recovering from certain types of system failures and errors. The built-in commands of sash have all libraries linked statically, so unlike most shells on Linux, the standard
UNIX Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
commands do not rely on external libraries. For example, the copy command (cp) requires libc.so and ld-linux.so when built from
GNU Core Utilities The GNU Core Utilities or coreutils is a collection of GNU software that implements many standard, Unix-based shell commands. The utilities generally provide POSIX compliant interface when the environment variable is set, but otherwise offers ...
on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. If any of these libraries get corrupted, the coreutils cp command would not work; however, in sash, the built-in command, cp, would be unaffected. In earlier times, most critical commands (including shells) in /sbin or even /bin were statically linked for this purpose, whereas in /usr/sbin and /usr/bin you would find the more feature-rich versions that were dynamically linked. This is not common anymore and as such, statically linked shells with built-in commands have become more important. Sash has the following built-in commands: : ar,
chattr is the command in Linux that allows a user to set certain attributes of a file. is the command that displays the attributes of a file. Most BSD-like systems, including macOS, have always had an analogous command to set the attributes, but ...
,
chgrp , short for change group, is a shell command for changing the group associated with a Unix-based file system file including special files such as directories. Changing the group of a file is restricted to a super-user (such as via ) or to ...
,
chmod is a shell command for changing access permissions and special mode flags of files (including special files such as directories). The name is short for ''change mode'' where ''mode'' refers to the permissions and flags collectively. The co ...
,
chown , short for change owner, is a shell command for changing the owning user of Unix-based file system files including special files such as directories. The ownership of a file may only be altered by a super-user (such as via sudo). A reg ...
, cmp, cp, dd,
echo In audio signal processing and acoustics, an echo is a reflection of sound that arrives at the listener with a delay after the direct sound. The delay is directly proportional to the distance of the reflecting surface from the source and the lis ...
, ed, exec,
grep grep is a command-line utility for searching plaintext datasets for lines that match a regular expression. Its name comes from the ed command g/re/p (global regular expression search and print), which has the same effect. grep was originally de ...
, file, find, gunzip,
gzip gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and ...
,
kill Kill often refers to: *Homicide, one human killing another *cause death, to kill a living organism, to cause its death Other common uses include: *Kill (body of water), a body of water, most commonly a creek *Kill (command), a computing command *K ...
, losetup, ln, ls, lsattr,
mkdir (make directory) command (computing), command in the Unix, DOS, Digital Research, DR FlexOS, IBM OS/2, Microsoft Windows, and ReactOS operating systems is used to make a new directory (file systems), directory. It is also available in the Unified ...
,
mknod In Unix-like operating systems, a device file, device node, or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These spec ...
,
rmdir In computing, rmdir (or rd) is a command which will remove an empty directory on various operating systems. Implementations The command is available in Unix (e.g. macOS, Solaris, AIX, HP-UX), Unix-like (e.g. FreeBSD, Linux), DOS, Digital ...
, sum, sync,
tar Tar is a dark brown or black viscous liquid of hydrocarbons and free carbon, obtained from a wide variety of organic materials through destructive distillation. Tar can be produced from coal, wood, petroleum, or peat. "a dark brown or black b ...
,
touch The somatosensory system, or somatic sensory system is a subset of the sensory nervous system. The main functions of the somatosensory system are the perception of external stimuli, the perception of internal stimuli, and the regulation of bo ...
, umount, where The Sash shell has also been ported to work with Android in a terminal-interface.


sash-plus-patches

''sash-plus-patches''
is a collection of patches for sash. The key features are the
chroot chroot is a shell (computer), shell command (computing), command and a system call on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its Child process, children. A program that i ...
, pivot root, and losetup commands. However, these functions are available in newer versions of sash. These functions provide interfaces to the respective Linux system calls. They are especially useful when sash is used in an initial ramdisk (" initrd") environment. In addition, simple shell variable expansion support has been added; e.g., the variable "$(VAR)" is replaced by the content of the
environment variable An environment variable is a user-definable value that can affect the way running processes will behave on a computer. Environment variables are part of the environment in which a process runs. For example, a running process can query the va ...
"VAR". Some Linux distributions, such as
Debian Debian () is a free and open-source software, free and open source Linux distribution, developed by the Debian Project, which was established by Ian Murdock in August 1993. Debian is one of the oldest operating systems based on the Linux kerne ...
and
Slackware Slackware is a Linux distribution created by Patrick Volkerding in 1993. Originally based on Softlanding Linux System (SLS), Slackware has been the basis for many other Linux distributions, most notably the first versions of SUSE Linux distr ...
(via SlackBuilds.org), have this available.


See also

*
BusyBox BusyBox is a software suite that provides several List of Unix commands, Unix utilities in a single executable file. It runs in a variety of POSIX environments such as Linux, Android (operating system), Android, and FreeBSD, although many of the ...
*
Toybox Toybox is a free and open-source software implementation of over 200 Unix command line utilities such as '' ls'', '' cp'', and '' mv''. The Toybox project was started in 2006, and became a 0BSD licensed BusyBox alternative. Toybox is used for m ...
* Comparison of computer shells


References


Sources


sash - Linux man page


External links


sash homepage
{{Embedded systems Embedded Linux Unix shells