Annotation of /tags/mkinitrd-6_1_11/nash/nash.8
Parent Directory | Revision Log
Revision 928 -
(hide annotations)
(download)
Wed Oct 28 13:31:19 2009 UTC (14 years, 11 months ago) by niro
File size: 5128 byte(s)
Wed Oct 28 13:31:19 2009 UTC (14 years, 11 months ago) by niro
File size: 5128 byte(s)
tagged 'mkinitrd-6_1_11'
1 | niro | 532 | .TH NASH 8 "Mon Aug 02 2004" |
2 | .SH NAME | ||
3 | nash \- script interpretor to interpret linuxrc images | ||
4 | .SH SYNOPSIS | ||
5 | \fBnash\fR [--quiet] [--force] \fIscript\fR | ||
6 | |||
7 | .SH DESCRIPTION | ||
8 | \fBnash\fR is a very simple script interpretor designed to be as small as | ||
9 | possible. It is primarily designed to run simple linuxrc scripts on an initrd | ||
10 | image. Arguments to commands may be enclosed in either single or double | ||
11 | quotes to allow spaces to be included in the arguments. Spaces outside of | ||
12 | quotations always delineate arguments, and so backslash escaping is supported. | ||
13 | |||
14 | Additionally, if nash is invoked as \fBmodprobe\fR, it will immediately | ||
15 | exit with a return code of zero. This is to allow initrd's to prevent some | ||
16 | extraneous kernel error messages during startup. | ||
17 | |||
18 | There are two types of commands, built in and external. External commands | ||
19 | are run from the filesystem via execve(). If commands names are given without | ||
20 | a path, nash will search it's builtin PATH, which is /usr/bin, /bin, | ||
21 | /sbin, /usr/sbin. | ||
22 | |||
23 | Currently, \fBnash\fR supports the following built in commands. | ||
24 | |||
25 | .TP | ||
26 | \fBaccess -[r][w][x][f] \fIpath\fR | ||
27 | Tells whether the current user has sufficient permissions to read, write, or | ||
28 | execture \fIpath\fR, or if the file exists (see \fBaccess(2)\fR for more | ||
29 | information). | ||
30 | |||
31 | .TP | ||
32 | \fBecho [item]* [> \fIfilename\fR]\fR | ||
33 | Echos the text strings given to a file, with a space in between each | ||
34 | item. The output may be optionally redirected to a file. | ||
35 | |||
36 | \fBexec\fR \fI<command>\fR | ||
37 | The command given is execed, overlaying the nash process. | ||
38 | |||
39 | .TP | ||
40 | \fBfind \fIdir\fR -name \fIname\fR | ||
41 | Display the path to files named \fIname\fR in or below directory \fIdir\FR. | ||
42 | This is a \fBvery\fR limited implementation of find(1). | ||
43 | |||
44 | .TP | ||
45 | \fBfindlodev\fR | ||
46 | Prints the full path to the first unused loopback block device on the | ||
47 | system. If none is available, no output is displayed. | ||
48 | |||
49 | .TP | ||
50 | \fBlosetup \fI/dev/loopdev\fR \fIfile\fR | ||
51 | Binds \fIfile\fR to the loopback device \fI/dev/loopdev\fR. See | ||
52 | \fBlosetup(8)\fR for information on loopback devices. | ||
53 | |||
54 | .TP | ||
55 | \fBmkdevices\fR \fIpath\fR | ||
56 | Creates device files for all of the block devices listed in | ||
57 | \fB/proc/partitions\fR in the directory specfied by \fIpath\fR. | ||
58 | |||
59 | .TP | ||
60 | \fBmkdir\fR \fI[-p]\fR \fIpath\fR | ||
61 | Creates the directory \fIpath\fR. If \fI-p\fR is specified, this command | ||
62 | will not complain if the directory exists. Note this is a subset of the | ||
63 | standard \fBmkdir\fR \fI-p\fR behavior. | ||
64 | |||
65 | .TP | ||
66 | \fBmknod\fR \fIpath\fR \fI[c|b]\fR \fImajor\fR \fIminor\fR | ||
67 | Creates a device inode for \fIpath\fR. This is identical to \fBmkdev\fR(1) | ||
68 | which the exceptions that it will not create named pipes and if the directories | ||
69 | in \fIpath\fR do not exist they will be automatically created. | ||
70 | |||
71 | .TP | ||
72 | \fBmkdmnod\fR | ||
73 | Creates a device inode for the device mapper control inode as | ||
74 | \fI/dev/mapper/control\fR. If it already exists with the correct | ||
75 | major/minor, it will not be recreated. | ||
76 | |||
77 | .TP | ||
78 | \fBmkrootdev \fIpath\fR | ||
79 | Makes \fIpath\fR a block inode for the device which should be mounted | ||
80 | as root. To determine this device nash uses | ||
81 | the device suggested by the root= kernel command line argument (if | ||
82 | root=LABEL is used devices are probed to find one with that label). If | ||
83 | no root= argument is available, /proc/sys/kernel/real-root-dev provides | ||
84 | the device number. | ||
85 | |||
86 | .TP | ||
87 | \fBmount \fI[--ro]\fR -o \fIopts\fR -t \fItype\fR \fIdevice\fR \fImntpoint\fR | ||
88 | Mounts a filesystem. It does not support NFS, and it must be used in | ||
89 | the form given above (arguments must go first). If \fIdevice\fR is of the form | ||
90 | \fBLABEL=\fIfoo\fR the devices listed in /fB/proc/partitions\fR will | ||
91 | be searched, and the first device with a volume label of \fIfoo\fR will | ||
92 | be mounted. Normal \fBmount\fR(2) options are supported, and \fB--ro\fR will | ||
93 | mount the filesystem read only for compatibility with older versions of nash. | ||
94 | The \fBdefaults\fR mount option is silently ignored. | ||
95 | |||
96 | .TP | ||
97 | \fBpivot_root \fInewrootpath\fR \fIoldrootpath\fR | ||
98 | Makes the filesystem mounted at \fInewrootpath\fR the new root filesystem, | ||
99 | and mounts the current root filesystem as \fIoldrootpath\fR. | ||
100 | |||
101 | .TP | ||
102 | \fBreadlink \fIpath\fR | ||
103 | Displays the value of the symbolic link \fIpath\fR. | ||
104 | |||
105 | .TP | ||
106 | \fBraidautorun \fImddevice\fR | ||
107 | Runs raid autodetection on all raid-typed partitions. \fImddevice\fR must | ||
108 | be a raid device (any will do). | ||
109 | |||
110 | .TP | ||
111 | \fBsetquiet\fR | ||
112 | Cause any later echos in this script to not be displayed. | ||
113 | |||
114 | .TP | ||
115 | \fBshowlabels\fR | ||
116 | Display a table of devices, their filesystem labels, and their uuids. | ||
117 | |||
118 | .TP | ||
119 | \fBsleep \fInum\fR | ||
120 | Sleep for \fInum\fR seconds | ||
121 | |||
122 | .TP | ||
123 | \fBswitchroot \fInewrootpath\fR | ||
124 | Makes the filesystem mounted at \fInewrootpath\fR the new root | ||
125 | filesystem by moving the mountpoint. This will only work in 2.6 or | ||
126 | later kernels. | ||
127 | |||
128 | .TP | ||
129 | \fBumount \fIpath\fR | ||
130 | Unmounts the filesystem mounted at \fIpath\fR. | ||
131 | |||
132 | .SH RETURN VALUE | ||
133 | Returns 0 is the last command succeeded or 1 if it failed. | ||
134 | |||
135 | .SH OPTIONS | ||
136 | .TP | ||
137 | \fB-\-force\fR | ||
138 | Allows \fBforce\fR really execute the script, even though \fBnash\fR doesn't | ||
139 | appear to be running from an initrd image. | ||
140 | |||
141 | .SH BUGS | ||
142 | Probably many. \fBnash\fR is \fbnot a shell\fR, and it shouldn't be thought of | ||
143 | as one. It isn't entirely different from a shell, but that's mostly by | ||
144 | accident. | ||
145 | |||
146 | .SH AUTHOR | ||
147 | .nf | ||
148 | Erik Troan <ewt@redhat.com> | ||
149 | .fi |