nash

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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 back-
       slash 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.


       mkdmnod
	      Creates a device inode for the device mapper control  inode  as
	      /dev/mapper/control.   If	 it  already  exists with the correct
	      major/minor, it will not be recreated.


       mkrootdev path
	      Makes path a block inode for the device which should be mounted
	      as  root.	 To  determine	this device nash uses the device sug-
	      gested 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.


       readlink path
	      Displays the value of the symbolic link path.


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


       setquiet
	      Cause any later echos in this script to not be displayed.


       showlabels
	      Display  a table of devices, their filesystem labels, and their
	      uuids.


       sleep num
	      Sleep for num seconds


       switchroot newrootpath
	      Makes the	 filesystem  mounted  at  newrootpath  the  new	 root
	      filesystem  by  moving  the mountpoint.  This will only work in
	      2.6 or later kernels.


       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>



			       Mon Aug 02 2004			      NASH(8)