| sash | |
|---|---|
![]() Screenshot of the sash shell | |
| Developer | David Bell |
| Stable release | v3.8 (March 2014; 11 years ago (2014-03)) |
| Operating system | Unix-like |
| Type | Embedded |
| Website | members |
Stand-alone shell (sash) is aUnix shell designed for use in recovering from certain types of system failures and errors.
The built-in commands of sash have alllibraries linked statically, so unlike most shells on Linux, the standardUNIX commands do not rely on external libraries. For example, the copy command (cp) requireslibc.so andld-linux.so when built fromGNU Core Utilities onLinux. 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 followingbuilt-in commands:
ar,chattr,chgrp,chmod,chown,cmp,cp,dd,echo,ed,exec,grep,file,find,gunzip,gzip,kill,losetup,ln,ls,lsattr,mkdir,mknod,rmdir,sum,sync,tar,touch,umount,whereThe Sash shell has also been ported to work withAndroid[1] in aterminal-interface.
sash-plus-patches is a collection of patches for sash. The key features are thechroot,pivot root, andlosetup 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 theenvironment variable "VAR".
Some Linux distributions, such asDebian andSlackware (via SlackBuilds.org), have this available.[citation needed]