NASH(8)                                                                NASH(8)

       nash - script interpretor to interpret linuxrc images

       nash [--quiet] [--force] script

       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

       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).

              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

       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-

       raidautorun mddevice
              Runs raid autodetection on all raid-typed  partitions.  mddevice
              must be a raid device (any will do).

              Display  a  table of devices, their filesystem labels, and their

       umount path
              Unmounts the filesystem mounted at path.

       Returns 0 is the last command succeeded or 1 if it failed.

              Allows force really execute the script, even though nash doesn't
              appear to be running from an initrd image.

       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

       Erik Troan <>

4th Berkeley Distribution       Sat Mar 27 1999                        NASH(8)