nash
NASH(8) NASH(8)
NAME
nash - script interpretor to interpret linuxrc images
SYNOPSIS
nash [--quiet] [--force] script
DESCRIPTION
nash is a very simple script interpretor designed to be as small as
possible. It is primarily designed to run simple linuxrc scripts on an
initrd image. Arguments to commands may be enclosed in either single or
double quotes to allow spaces to be included in the arguments. Spaces
outside of quotations always delineate arguments, and so backslash
escaping is supported.
Additionally, if nash is invoked as modprobe, it will immediately exit
with a return code of zero. This is to allow initrd's to prevent some
extraneous kernel error messages during startup.
There are two types of commands, built in and external. External com-
mands are run from the filesystem via execve(). If commands names are
given without a path, nash will search it's builtin PATH, which is
/usr/bin, /bin, /sbin, /usr/sbin.
Currently, nash supports the following built in commands.
access -[r][w][x][f] path
Tells whether the current user has sufficient permissions to
read, write, or execture path, or if the file exists (see
access(2) for more information).
echo [item]* [> filename]
Echos the text strings given to a file, with a space in between
each item. The output may be optionally redirected to a file.
exec <command> The command given is execed, overlaying the nash
process.
find dir -name name
Display the path to files named name in or below directory dir.
This is a very limited implementation of find(1).
findlodev
Prints the full path to the first unused loopback block device
on the system. If none is available, no output is displayed.
losetup /dev/loopdev file
Binds file to the loopback device /dev/loopdev. See losetup(8)
for information on loopback devices.
mkdevices path
Creates device files for all of the block devices listed in
/proc/partitions in the directory specfied by path.
mkdir [-p] path
Creates the directory path. If -p is specified, this command
will not complain if the directory exists. Note this is a subset
of the standard mkdir -p behavior.
mknod path [c|b] major minor
Creates a device inode for path. This is identical to mkdev(1)
which the exceptions that it will not create named pipes and if
the directories in path do not exist they will be automatically
created.
mkrootdev path
Makes path a block inode for the device which should be mounted
as root. To determine this device nash uses the device suggested
by the root= kernel command line argument (if root=LABEL is used
devices are probed to find one with that label). If no root=
argument is available, /proc/sys/kernel/real-root-dev provides
the device number.
mount [--ro] -o opts -t type device mntpoint
Mounts a filesystem. It does not support NFS, and it must be
used in the form given above (arguments must go first). If
device is of the form LABEL=foo the devices listed in
/fB/proc/partitions will be searched, and the first device with
a volume label of foo will be mounted. Normal mount(2) options
are supported, and --ro will mount the filesystem read only for
compatibility with older versions of nash. The defaults mount
option is silently ignored.
pivot_root newrootpath oldrootpath
Makes the filesystem mounted at newrootpath the new root
filesystem, and mounts the current root filesystem as oldroot-
path.
raidautorun mddevice
Runs raid autodetection on all raid-typed partitions. mddevice
must be a raid device (any will do).
showlabels
Display a table of devices, their filesystem labels, and their
uuids.
umount path
Unmounts the filesystem mounted at path.
RETURN VALUE
Returns 0 is the last command succeeded or 1 if it failed.
OPTIONS
--force
Allows force really execute the script, even though nash doesn't
appear to be running from an initrd image.
BUGS
Probably many. nash is not a shell, and it shouldn't be thought of as
one. It isn't entirely different from a shell, but that's mostly by
accident.
AUTHOR
Erik Troan <ewt@redhat.com>
4th Berkeley Distribution Sat Mar 27 1999 NASH(8)