diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-01-20 21:45:57 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-01-20 21:45:57 +0000 |
commit | 965fa326a1cfd8ce480982808a9504c044e99c1b (patch) | |
tree | 9fb271911fe2a0a9527ac264af54262a78692346 | |
parent | e2310b5a91f4e71ae5343fe5c18608836baea71f (diff) | |
download | busybox-w32-965fa326a1cfd8ce480982808a9504c044e99c1b.tar.gz busybox-w32-965fa326a1cfd8ce480982808a9504c044e99c1b.tar.bz2 busybox-w32-965fa326a1cfd8ce480982808a9504c044e99c1b.zip |
Move \n to inside TRIVIAL_HELP, to save a few bytes for the default case.
Patch from Vladimir N. Oleynik <dzo@simtreas.ru>
-rw-r--r-- | applets/usage.c | 671 | ||||
-rw-r--r-- | usage.c | 671 |
2 files changed, 668 insertions, 674 deletions
diff --git a/applets/usage.c b/applets/usage.c index e92b87a9c..864891797 100644 --- a/applets/usage.c +++ b/applets/usage.c | |||
@@ -2,102 +2,102 @@ | |||
2 | 2 | ||
3 | #if defined BB_AR | 3 | #if defined BB_AR |
4 | const char ar_usage[] = | 4 | const char ar_usage[] = |
5 | "ar -[ovR]{ptx} archive filenames \n" | 5 | "ar -[ovR]{ptx} archive filenames" |
6 | #ifndef BB_FEATURE_TRIVIAL_HELP | 6 | #ifndef BB_FEATURE_TRIVIAL_HELP |
7 | "\nExtract or list files from an ar archive.\n\n" | 7 | "\n\nExtract or list files from an ar archive.\n\n" |
8 | "Options:\n" | 8 | "Options:\n" |
9 | "\t-o\t\tpreserve original dates\n" | 9 | "\t-o\t\tpreserve original dates\n" |
10 | "\t-p\t\textract to stdout\n" | 10 | "\t-p\t\textract to stdout\n" |
11 | "\t-t\t\tlist\n" | 11 | "\t-t\t\tlist\n" |
12 | "\t-x\t\textract\n" | 12 | "\t-x\t\textract\n" |
13 | "\t-v\t\tverbosely list files processed\n" | 13 | "\t-v\t\tverbosely list files processed\n" |
14 | "\t-R\t\trecursive action\n" | 14 | "\t-R\t\trecursive action" |
15 | #endif | 15 | #endif |
16 | ; | 16 | ; |
17 | #endif | 17 | #endif |
18 | 18 | ||
19 | #if defined BB_BASENAME | 19 | #if defined BB_BASENAME |
20 | const char basename_usage[] = | 20 | const char basename_usage[] = |
21 | "basename FILE [SUFFIX]\n" | 21 | "basename FILE [SUFFIX]" |
22 | #ifndef BB_FEATURE_TRIVIAL_HELP | 22 | #ifndef BB_FEATURE_TRIVIAL_HELP |
23 | "\nStrips directory path and suffixes from FILE.\n" | 23 | "\n\nStrips directory path and suffixes from FILE.\n" |
24 | "If specified, also removes any trailing SUFFIX.\n" | 24 | "If specified, also removes any trailing SUFFIX." |
25 | #endif | 25 | #endif |
26 | ; | 26 | ; |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | #if defined BB_CAT | 29 | #if defined BB_CAT |
30 | const char cat_usage[] = | 30 | const char cat_usage[] = |
31 | "cat [FILE]...\n" | 31 | "cat [FILE]..." |
32 | #ifndef BB_FEATURE_TRIVIAL_HELP | 32 | #ifndef BB_FEATURE_TRIVIAL_HELP |
33 | "\nConcatenates FILE(s) and prints them to stdout.\n" | 33 | "\n\nConcatenates FILE(s) and prints them to stdout." |
34 | #endif | 34 | #endif |
35 | ; | 35 | ; |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #if defined BB_CHMOD_CHOWN_CHGRP | 38 | #if defined BB_CHMOD_CHOWN_CHGRP |
39 | const char chgrp_usage[] = | 39 | const char chgrp_usage[] = |
40 | "chgrp [OPTION]... GROUP FILE...\n" | 40 | "chgrp [OPTION]... GROUP FILE..." |
41 | #ifndef BB_FEATURE_TRIVIAL_HELP | 41 | #ifndef BB_FEATURE_TRIVIAL_HELP |
42 | "\nChange the group membership of each FILE to GROUP.\n" | 42 | "\n\nChange the group membership of each FILE to GROUP.\n" |
43 | "\nOptions:\n\t-R\tChanges files and directories recursively.\n" | 43 | "\nOptions:\n\t-R\tChanges files and directories recursively." |
44 | #endif | 44 | #endif |
45 | ; | 45 | ; |
46 | #endif | 46 | #endif |
47 | 47 | ||
48 | #if defined BB_CHMOD_CHOWN_CHGRP | 48 | #if defined BB_CHMOD_CHOWN_CHGRP |
49 | const char chmod_usage[] = | 49 | const char chmod_usage[] = |
50 | "chmod [-R] MODE[,MODE]... FILE...\n" | 50 | "chmod [-R] MODE[,MODE]... FILE..." |
51 | #ifndef BB_FEATURE_TRIVIAL_HELP | 51 | #ifndef BB_FEATURE_TRIVIAL_HELP |
52 | "\nEach MODE is one or more of the letters ugoa, one of the symbols +-= and\n" | 52 | "\n\nEach MODE is one or more of the letters ugoa, one of the symbols +-= and\n" |
53 | "one or more of the letters rwxst.\n\n" | 53 | "one or more of the letters rwxst.\n\n" |
54 | "\nOptions:\n\t-R\tChanges files and directories recursively.\n" | 54 | "\nOptions:\n\t-R\tChanges files and directories recursively." |
55 | #endif | 55 | #endif |
56 | ; | 56 | ; |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | #if defined BB_CHMOD_CHOWN_CHGRP | 59 | #if defined BB_CHMOD_CHOWN_CHGRP |
60 | const char chown_usage[] = | 60 | const char chown_usage[] = |
61 | "chown [OPTION]... OWNER[<.|:>[GROUP] FILE...\n" | 61 | "chown [OPTION]... OWNER[<.|:>[GROUP] FILE..." |
62 | #ifndef BB_FEATURE_TRIVIAL_HELP | 62 | #ifndef BB_FEATURE_TRIVIAL_HELP |
63 | "\nChange the owner and/or group of each FILE to OWNER and/or GROUP.\n" | 63 | "\n\nChange the owner and/or group of each FILE to OWNER and/or GROUP.\n" |
64 | "\nOptions:\n\t-R\tChanges files and directories recursively.\n" | 64 | "\nOptions:\n\t-R\tChanges files and directories recursively." |
65 | #endif | 65 | #endif |
66 | ; | 66 | ; |
67 | #endif | 67 | #endif |
68 | 68 | ||
69 | #if defined BB_CHROOT | 69 | #if defined BB_CHROOT |
70 | const char chroot_usage[] = | 70 | const char chroot_usage[] = |
71 | "chroot NEWROOT [COMMAND...]\n" | 71 | "chroot NEWROOT [COMMAND...]" |
72 | #ifndef BB_FEATURE_TRIVIAL_HELP | 72 | #ifndef BB_FEATURE_TRIVIAL_HELP |
73 | "\nRun COMMAND with root directory set to NEWROOT.\n" | 73 | "\n\nRun COMMAND with root directory set to NEWROOT." |
74 | #endif | 74 | #endif |
75 | ; | 75 | ; |
76 | #endif | 76 | #endif |
77 | 77 | ||
78 | #if defined BB_CHVT | 78 | #if defined BB_CHVT |
79 | const char chvt_usage[] = | 79 | const char chvt_usage[] = |
80 | "chvt N\n" | 80 | "chvt N" |
81 | #ifndef BB_FEATURE_TRIVIAL_HELP | 81 | #ifndef BB_FEATURE_TRIVIAL_HELP |
82 | "\nChanges the foreground virtual terminal to /dev/ttyN\n" | 82 | "\n\nChanges the foreground virtual terminal to /dev/ttyN" |
83 | #endif | 83 | #endif |
84 | ; | 84 | ; |
85 | #endif | 85 | #endif |
86 | 86 | ||
87 | #if defined BB_CLEAR | 87 | #if defined BB_CLEAR |
88 | const char clear_usage[] = | 88 | const char clear_usage[] = |
89 | "clear\n" | 89 | "clear" |
90 | #ifndef BB_FEATURE_TRIVIAL_HELP | 90 | #ifndef BB_FEATURE_TRIVIAL_HELP |
91 | "\nClear screen.\n" | 91 | "\n\nClear screen." |
92 | #endif | 92 | #endif |
93 | ; | 93 | ; |
94 | #endif | 94 | #endif |
95 | 95 | ||
96 | #if defined BB_CMP | 96 | #if defined BB_CMP |
97 | const char cmp_usage[] = | 97 | const char cmp_usage[] = |
98 | "cmp FILE1 [FILE2]\n" | 98 | "cmp FILE1 [FILE2]" |
99 | #ifndef BB_FEATURE_TRIVIAL_HELP | 99 | #ifndef BB_FEATURE_TRIVIAL_HELP |
100 | "\nCompare files.\n" | 100 | "\n\nCompare files." |
101 | #endif | 101 | #endif |
102 | ; | 102 | ; |
103 | #endif | 103 | #endif |
@@ -105,31 +105,31 @@ const char cmp_usage[] = | |||
105 | #if defined BB_CP_MV | 105 | #if defined BB_CP_MV |
106 | const char cp_usage[] = | 106 | const char cp_usage[] = |
107 | "cp [OPTION]... SOURCE DEST\n" | 107 | "cp [OPTION]... SOURCE DEST\n" |
108 | " or: cp [OPTION]... SOURCE... DIRECTORY\n" | 108 | " or: cp [OPTION]... SOURCE... DIRECTORY" |
109 | #ifndef BB_FEATURE_TRIVIAL_HELP | 109 | #ifndef BB_FEATURE_TRIVIAL_HELP |
110 | "\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" | 110 | "\n\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" |
111 | "\n" | 111 | "\n" |
112 | "\t-a\tSame as -dpR\n" | 112 | "\t-a\tSame as -dpR\n" |
113 | "\t-d\tPreserves links\n" | 113 | "\t-d\tPreserves links\n" |
114 | "\t-p\tPreserves file attributes if possible\n" | 114 | "\t-p\tPreserves file attributes if possible\n" |
115 | "\t-f\tforce (implied; ignored) - always set\n" | 115 | "\t-f\tforce (implied; ignored) - always set\n" |
116 | "\t-R\tCopies directories recursively\n" | 116 | "\t-R\tCopies directories recursively" |
117 | #endif | 117 | #endif |
118 | ; | 118 | ; |
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #if defined BB_CUT | 121 | #if defined BB_CUT |
122 | const char cut_usage[] = | 122 | const char cut_usage[] = |
123 | "cut [OPTION]... [FILE]...\n" | 123 | "cut [OPTION]... [FILE]..." |
124 | #ifndef BB_FEATURE_TRIVIAL_HELP | 124 | #ifndef BB_FEATURE_TRIVIAL_HELP |
125 | "\nPrints selected fields from each input FILE to standard output.\n\n" | 125 | "\n\nPrints selected fields from each input FILE to standard output.\n\n" |
126 | "Options:\n" | 126 | "Options:\n" |
127 | "\t-b LIST\tOutput only bytes from LIST\n" | 127 | "\t-b LIST\tOutput only bytes from LIST\n" |
128 | "\t-c LIST\tOutput only characters from LIST\n" | 128 | "\t-c LIST\tOutput only characters from LIST\n" |
129 | "\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n" | 129 | "\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n" |
130 | "\t-s\tOutput only the lines containing delimiter\n" | 130 | "\t-s\tOutput only the lines containing delimiter\n" |
131 | "\t-f N\tPrint only these fields\n" | 131 | "\t-f N\tPrint only these fields\n" |
132 | "\t-n\tIgnored\n" | 132 | "\t-n\tIgnored" |
133 | #endif | 133 | #endif |
134 | ; | 134 | ; |
135 | #endif | 135 | #endif |
@@ -137,33 +137,33 @@ const char cut_usage[] = | |||
137 | #if defined BB_DATE | 137 | #if defined BB_DATE |
138 | const char date_usage[] = | 138 | const char date_usage[] = |
139 | "date [OPTION]... [+FORMAT]\n" | 139 | "date [OPTION]... [+FORMAT]\n" |
140 | " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]\n" | 140 | " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]" |
141 | #ifndef BB_FEATURE_TRIVIAL_HELP | 141 | #ifndef BB_FEATURE_TRIVIAL_HELP |
142 | "\nDisplays the current time in the given FORMAT, or sets the system date.\n" | 142 | "\n\nDisplays the current time in the given FORMAT, or sets the system date.\n" |
143 | "\nOptions:\n\t-R\t\tOutputs RFC-822 compliant date string\n" | 143 | "\nOptions:\n\t-R\t\tOutputs RFC-822 compliant date string\n" |
144 | "\t-d STRING\tdisplay time described by STRING, not `now'\n" | 144 | "\t-d STRING\tdisplay time described by STRING, not `now'\n" |
145 | "\t-s\t\tSets time described by STRING\n" | 145 | "\t-s\t\tSets time described by STRING\n" |
146 | "\t-u\t\tPrints or sets Coordinated Universal Time\n" | 146 | "\t-u\t\tPrints or sets Coordinated Universal Time" |
147 | #endif | 147 | #endif |
148 | ; | 148 | ; |
149 | #endif | 149 | #endif |
150 | 150 | ||
151 | #if defined BB_DC | 151 | #if defined BB_DC |
152 | const char dc_usage[] = | 152 | const char dc_usage[] = |
153 | "dc expression ...\n" | 153 | "dc expression ..." |
154 | #ifndef BB_FEATURE_TRIVIAL_HELP | 154 | #ifndef BB_FEATURE_TRIVIAL_HELP |
155 | "\nThis is a Tiny RPN calculator that understands the\n" | 155 | "\n\nThis is a Tiny RPN calculator that understands the\n" |
156 | "following operations: +, -, /, *, and, or, not, eor.\n" | 156 | "following operations: +, -, /, *, and, or, not, eor.\n" |
157 | "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16\n" | 157 | "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16" |
158 | #endif | 158 | #endif |
159 | ; | 159 | ; |
160 | #endif | 160 | #endif |
161 | 161 | ||
162 | #if defined BB_DD | 162 | #if defined BB_DD |
163 | const char dd_usage[] = | 163 | const char dd_usage[] = |
164 | "dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|sync]\n" | 164 | "dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|sync]" |
165 | #ifndef BB_FEATURE_TRIVIAL_HELP | 165 | #ifndef BB_FEATURE_TRIVIAL_HELP |
166 | "\nCopy a file, converting and formatting according to options\n\n" | 166 | "\n\nCopy a file, converting and formatting according to options\n\n" |
167 | "\tif=FILE\tread from FILE instead of stdin\n" | 167 | "\tif=FILE\tread from FILE instead of stdin\n" |
168 | "\tof=FILE\twrite to FILE instead of stdout\n" | 168 | "\tof=FILE\twrite to FILE instead of stdout\n" |
169 | "\tbs=N\tread and write N bytes at a time\n" | 169 | "\tbs=N\tread and write N bytes at a time\n" |
@@ -174,56 +174,56 @@ const char dd_usage[] = | |||
174 | "\tconv=sync\tpad blocks with zeros\n" | 174 | "\tconv=sync\tpad blocks with zeros\n" |
175 | "\n" | 175 | "\n" |
176 | "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" | 176 | "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" |
177 | "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824).\n" | 177 | "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)." |
178 | #endif | 178 | #endif |
179 | ; | 179 | ; |
180 | #endif | 180 | #endif |
181 | 181 | ||
182 | #if defined BB_DEALLOCVT | 182 | #if defined BB_DEALLOCVT |
183 | const char deallocvt_usage[] = | 183 | const char deallocvt_usage[] = |
184 | "deallocvt N\n" | 184 | "deallocvt N" |
185 | #ifndef BB_FEATURE_TRIVIAL_HELP | 185 | #ifndef BB_FEATURE_TRIVIAL_HELP |
186 | "\nDeallocate unused virtual terminal /dev/ttyN\n" | 186 | "\n\nDeallocate unused virtual terminal /dev/ttyN" |
187 | #endif | 187 | #endif |
188 | ; | 188 | ; |
189 | #endif | 189 | #endif |
190 | 190 | ||
191 | #if defined BB_DF | 191 | #if defined BB_DF |
192 | const char df_usage[] = | 192 | const char df_usage[] = |
193 | "df [filesystem ...]\n" | 193 | "df [filesystem ...]" |
194 | #ifndef BB_FEATURE_TRIVIAL_HELP | 194 | #ifndef BB_FEATURE_TRIVIAL_HELP |
195 | "\nPrint the filesystem space used and space available.\n" | 195 | "\n\nPrint the filesystem space used and space available." |
196 | #endif | 196 | #endif |
197 | ; | 197 | ; |
198 | #endif | 198 | #endif |
199 | 199 | ||
200 | #if defined BB_DIRNAME | 200 | #if defined BB_DIRNAME |
201 | const char dirname_usage[] = | 201 | const char dirname_usage[] = |
202 | "dirname [FILENAME ...]\n" | 202 | "dirname [FILENAME ...]" |
203 | #ifndef BB_FEATURE_TRIVIAL_HELP | 203 | #ifndef BB_FEATURE_TRIVIAL_HELP |
204 | "\nStrips non-directory suffix from FILENAME\n" | 204 | "\n\nStrips non-directory suffix from FILENAME" |
205 | #endif | 205 | #endif |
206 | ; | 206 | ; |
207 | #endif | 207 | #endif |
208 | 208 | ||
209 | #if defined BB_DMESG | 209 | #if defined BB_DMESG |
210 | const char dmesg_usage[] = | 210 | const char dmesg_usage[] = |
211 | "dmesg [-c] [-n LEVEL] [-s SIZE]\n" | 211 | "dmesg [-c] [-n LEVEL] [-s SIZE]" |
212 | #ifndef BB_FEATURE_TRIVIAL_HELP | 212 | #ifndef BB_FEATURE_TRIVIAL_HELP |
213 | "\nPrints or controls the kernel ring buffer\n\n" | 213 | "\n\nPrints or controls the kernel ring buffer\n\n" |
214 | "Options:\n" | 214 | "Options:\n" |
215 | "\t-c\t\tClears the ring buffer's contents after printing\n" | 215 | "\t-c\t\tClears the ring buffer's contents after printing\n" |
216 | "\t-n LEVEL\tSets console logging level\n" | 216 | "\t-n LEVEL\tSets console logging level\n" |
217 | "\t-s SIZE\t\tUse a buffer of size SIZE\n" | 217 | "\t-s SIZE\t\tUse a buffer of size SIZE" |
218 | #endif | 218 | #endif |
219 | ; | 219 | ; |
220 | #endif | 220 | #endif |
221 | 221 | ||
222 | #if defined BB_DOS2UNIX | 222 | #if defined BB_DOS2UNIX |
223 | const char dos2unix_usage[] = | 223 | const char dos2unix_usage[] = |
224 | "dos2unix < dosfile > unixfile\n" | 224 | "dos2unix < dosfile > unixfile" |
225 | #ifndef BB_FEATURE_TRIVIAL_HELP | 225 | #ifndef BB_FEATURE_TRIVIAL_HELP |
226 | "\nConverts a text file from dos format to unix format.\n" | 226 | "\n\nConverts a text file from dos format to unix format." |
227 | #endif | 227 | #endif |
228 | ; | 228 | ; |
229 | #endif | 229 | #endif |
@@ -232,93 +232,93 @@ const char dos2unix_usage[] = | |||
232 | const char dpkg_deb_usage[] = | 232 | const char dpkg_deb_usage[] = |
233 | "dpkg-deb [-cexX] file directory" | 233 | "dpkg-deb [-cexX] file directory" |
234 | #ifndef BB_FEATURE_TRIVIAL_HELP | 234 | #ifndef BB_FEATURE_TRIVIAL_HELP |
235 | "Perform actions on debian packages (.debs)\n" | 235 | "\n\nPerform actions on debian packages (.debs)\n\n" |
236 | "Options:\n" | 236 | "Options:\n" |
237 | "\t-c\tList contents of filesystem tree\n" | 237 | "\t-c\tList contents of filesystem tree\n" |
238 | "\t-e\tExtract control files to directory\n" | 238 | "\t-e\tExtract control files to directory\n" |
239 | "\t-x\tExctract packages filesystem tree to directory\n" | 239 | "\t-x\tExctract packages filesystem tree to directory\n" |
240 | "\t-X\tVerbose extract\n" | 240 | "\t-X\tVerbose extract" |
241 | #endif | 241 | #endif |
242 | ; | 242 | ; |
243 | #endif | 243 | #endif |
244 | 244 | ||
245 | #if defined BB_DU | 245 | #if defined BB_DU |
246 | const char du_usage[] = | 246 | const char du_usage[] = |
247 | "du [OPTION]... [FILE]...\n" | 247 | "du [OPTION]... [FILE]..." |
248 | #ifndef BB_FEATURE_TRIVIAL_HELP | 248 | #ifndef BB_FEATURE_TRIVIAL_HELP |
249 | "\nSummarizes disk space used for each FILE and/or directory.\n" | 249 | "\n\nSummarizes disk space used for each FILE and/or directory.\n" |
250 | "Disk space is printed in units of 1024 bytes.\n\n" | 250 | "Disk space is printed in units of 1024 bytes.\n\n" |
251 | "Options:\n" | 251 | "Options:\n" |
252 | "\t-l\tcount sizes many times if hard linked\n" | 252 | "\t-l\tcount sizes many times if hard linked\n" |
253 | "\t-s\tdisplay only a total for each argument\n" | 253 | "\t-s\tdisplay only a total for each argument" |
254 | #endif | 254 | #endif |
255 | ; | 255 | ; |
256 | #endif | 256 | #endif |
257 | 257 | ||
258 | #if defined BB_DUMPKMAP | 258 | #if defined BB_DUMPKMAP |
259 | const char dumpkmap_usage[] = | 259 | const char dumpkmap_usage[] = |
260 | "dumpkmap > keymap\n" | 260 | "dumpkmap > keymap" |
261 | #ifndef BB_FEATURE_TRIVIAL_HELP | 261 | #ifndef BB_FEATURE_TRIVIAL_HELP |
262 | "\nPrints out a binary keyboard translation table to standard input.\n" | 262 | "\n\nPrints out a binary keyboard translation table to standard input." |
263 | #endif | 263 | #endif |
264 | ; | 264 | ; |
265 | #endif | 265 | #endif |
266 | 266 | ||
267 | #if defined BB_DUTMP | 267 | #if defined BB_DUTMP |
268 | const char dutmp_usage[] = | 268 | const char dutmp_usage[] = |
269 | "dutmp [FILE]\n" | 269 | "dutmp [FILE]" |
270 | #ifndef BB_FEATURE_TRIVIAL_HELP | 270 | #ifndef BB_FEATURE_TRIVIAL_HELP |
271 | "\nDump utmp file format (pipe delimited) from FILE\n" | 271 | "\n\nDump utmp file format (pipe delimited) from FILE\n" |
272 | "or stdin to stdout. (i.e. 'dutmp /var/run/utmp')\n" | 272 | "or stdin to stdout. (i.e. 'dutmp /var/run/utmp')" |
273 | #endif | 273 | #endif |
274 | ; | 274 | ; |
275 | #endif | 275 | #endif |
276 | 276 | ||
277 | #if defined BB_ECHO | 277 | #if defined BB_ECHO |
278 | const char echo_usage[] = | 278 | const char echo_usage[] = |
279 | "echo [-neE] [ARG ...]\n" | 279 | "echo [-neE] [ARG ...]" |
280 | #ifndef BB_FEATURE_TRIVIAL_HELP | 280 | #ifndef BB_FEATURE_TRIVIAL_HELP |
281 | "\nPrints the specified ARGs to stdout\n\n" | 281 | "\n\nPrints the specified ARGs to stdout\n\n" |
282 | "Options:\n" | 282 | "Options:\n" |
283 | "\t-n\tsuppress trailing newline\n" | 283 | "\t-n\tsuppress trailing newline\n" |
284 | "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n" | 284 | "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n" |
285 | "\t-E\tdisable interpretation of backslash-escaped characters\n" | 285 | "\t-E\tdisable interpretation of backslash-escaped characters" |
286 | #endif | 286 | #endif |
287 | ; | 287 | ; |
288 | #endif | 288 | #endif |
289 | 289 | ||
290 | #if defined BB_EXPR | 290 | #if defined BB_EXPR |
291 | const char expr_usage[] = | 291 | const char expr_usage[] = |
292 | "expr EXPRESSION\n" | 292 | "expr EXPRESSION" |
293 | #ifndef BB_FEATURE_TRIVIAL_HELP | 293 | #ifndef BB_FEATURE_TRIVIAL_HELP |
294 | "\nPrints the value of EXPRESSION to standard output.\n\n" | 294 | "\n\nPrints the value of EXPRESSION to standard output.\n\n" |
295 | "EXPRESSION may be:\n" | 295 | "EXPRESSION may be:\n" |
296 | "ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" | 296 | "ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" |
297 | "ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" | 297 | "ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" |
298 | "ARG1 < ARG2 ARG1 is less than ARG2\n" | 298 | "ARG1 < ARG2 ARG1 is less than ARG2\n" |
299 | "ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" | 299 | "ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" |
300 | "ARG1 = ARG2 ARG1 is equal to ARG2\n" | 300 | "ARG1 = ARG2 ARG1 is equal to ARG2\n" |
301 | "ARG1 != ARG2 ARG1 is unequal to ARG2\n" | 301 | "ARG1 != ARG2 ARG1 is unequal to ARG2\n" |
302 | "ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" | 302 | "ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" |
303 | "ARG1 > ARG2 ARG1 is greater than ARG2\n" | 303 | "ARG1 > ARG2 ARG1 is greater than ARG2\n" |
304 | "ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" | 304 | "ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" |
305 | "ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" | 305 | "ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" |
306 | "ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" | 306 | "ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" |
307 | "ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" | 307 | "ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" |
308 | "ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" | 308 | "ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" |
309 | "STRING : REGEXP anchored pattern match of REGEXP in STRING\n" | 309 | "STRING : REGEXP anchored pattern match of REGEXP in STRING\n" |
310 | "match STRING REGEXP same as STRING : REGEXP\n" | 310 | "match STRING REGEXP same as STRING : REGEXP\n" |
311 | "substr STRING POS LENGTH substring of STRING, POS counted from 1\n" | 311 | "substr STRING POS LENGTH substring of STRING, POS counted from 1\n" |
312 | "index STRING CHARS index in STRING where any CHARS is found, or 0\n" | 312 | "index STRING CHARS index in STRING where any CHARS is found, or 0\n" |
313 | "length STRING length of STRING\n" | 313 | "length STRING length of STRING\n" |
314 | "quote TOKEN interpret TOKEN as a string, even if it is a \n" | 314 | "quote TOKEN interpret TOKEN as a string, even if it is a \n" |
315 | " keyword like `match' or an operator like `/'\n" | 315 | " keyword like `match' or an operator like `/'\n" |
316 | "( EXPRESSION ) value of EXPRESSION\n\n" | 316 | "( EXPRESSION ) value of EXPRESSION\n\n" |
317 | "Beware that many operators need to be escaped or quoted for shells.\n" | 317 | "Beware that many operators need to be escaped or quoted for shells.\n" |
318 | "Comparisons are arithmetic if both ARGs are numbers, else\n" | 318 | "Comparisons are arithmetic if both ARGs are numbers, else\n" |
319 | "lexicographical. Pattern matches return the string matched between \n" | 319 | "lexicographical. Pattern matches return the string matched between \n" |
320 | "\\( and \\) or null; if \\( and \\) are not used, they return the number \n" | 320 | "\\( and \\) or null; if \\( and \\) are not used, they return the number \n" |
321 | "of characters matched or 0.\n" | 321 | "of characters matched or 0." |
322 | 322 | ||
323 | #endif | 323 | #endif |
324 | ; | 324 | ; |
@@ -327,59 +327,59 @@ const char expr_usage[] = | |||
327 | 327 | ||
328 | #if defined BB_TRUE_FALSE | 328 | #if defined BB_TRUE_FALSE |
329 | const char false_usage[] = | 329 | const char false_usage[] = |
330 | "false\n" | 330 | "false" |
331 | #ifndef BB_FEATURE_TRIVIAL_HELP | 331 | #ifndef BB_FEATURE_TRIVIAL_HELP |
332 | "\nReturn an exit code of FALSE (1).\n" | 332 | "\n\nReturn an exit code of FALSE (1)." |
333 | #endif | 333 | #endif |
334 | ; | 334 | ; |
335 | #endif | 335 | #endif |
336 | 336 | ||
337 | #if defined BB_FDFLUSH | 337 | #if defined BB_FDFLUSH |
338 | const char fdflush_usage[] = | 338 | const char fdflush_usage[] = |
339 | "fdflush DEVICE\n" | 339 | "fdflush DEVICE" |
340 | #ifndef BB_FEATURE_TRIVIAL_HELP | 340 | #ifndef BB_FEATURE_TRIVIAL_HELP |
341 | "\nForces floppy disk drive to detect disk change\n" | 341 | "\n\nForces floppy disk drive to detect disk change" |
342 | #endif | 342 | #endif |
343 | ; | 343 | ; |
344 | #endif | 344 | #endif |
345 | 345 | ||
346 | #if defined BB_FIND | 346 | #if defined BB_FIND |
347 | const char find_usage[] = | 347 | const char find_usage[] = |
348 | "find [PATH...] [EXPRESSION]\n" | 348 | "find [PATH...] [EXPRESSION]" |
349 | #ifndef BB_FEATURE_TRIVIAL_HELP | 349 | #ifndef BB_FEATURE_TRIVIAL_HELP |
350 | "\nSearch for files in a directory hierarchy. The default PATH is\n" | 350 | "\n\nSearch for files in a directory hierarchy. The default PATH is\n" |
351 | "the current directory; default EXPRESSION is '-print'\n\n" | 351 | "the current directory; default EXPRESSION is '-print'\n\n" |
352 | "\nEXPRESSION may consist of:\n" | 352 | "\nEXPRESSION may consist of:\n" |
353 | "\t-follow\t\tDereference symbolic links.\n" | 353 | "\t-follow\t\tDereference symbolic links.\n" |
354 | "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN.\n" | 354 | "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN.\n" |
355 | "\t-print\t\tprint the full file name followed by a newline to stdout.\n" | 355 | "\t-print\t\tprint the full file name followed by a newline to stdout." |
356 | #endif | 356 | #endif |
357 | ; | 357 | ; |
358 | #endif | 358 | #endif |
359 | 359 | ||
360 | #if defined BB_FREE | 360 | #if defined BB_FREE |
361 | const char free_usage[] = | 361 | const char free_usage[] = |
362 | "free\n" | 362 | "free" |
363 | #ifndef BB_FEATURE_TRIVIAL_HELP | 363 | #ifndef BB_FEATURE_TRIVIAL_HELP |
364 | "\nDisplays the amount of free and used system memory\n" | 364 | "\n\nDisplays the amount of free and used system memory" |
365 | #endif | 365 | #endif |
366 | ; | 366 | ; |
367 | #endif | 367 | #endif |
368 | 368 | ||
369 | #if defined BB_FREERAMDISK | 369 | #if defined BB_FREERAMDISK |
370 | const char freeramdisk_usage[] = | 370 | const char freeramdisk_usage[] = |
371 | "freeramdisk DEVICE\n" | 371 | "freeramdisk DEVICE" |
372 | #ifndef BB_FEATURE_TRIVIAL_HELP | 372 | #ifndef BB_FEATURE_TRIVIAL_HELP |
373 | "\nFrees all memory used by the specified ramdisk.\n" | 373 | "\n\nFrees all memory used by the specified ramdisk." |
374 | #endif | 374 | #endif |
375 | ; | 375 | ; |
376 | #endif | 376 | #endif |
377 | 377 | ||
378 | #if defined BB_FSCK_MINIX | 378 | #if defined BB_FSCK_MINIX |
379 | const char fsck_minix_usage[] = | 379 | const char fsck_minix_usage[] = |
380 | "Usage: fsck.minix [-larvsmf] /dev/name\n" | 380 | "Usage: fsck.minix [-larvsmf] /dev/name" |
381 | #ifndef BB_FEATURE_TRIVIAL_HELP | 381 | #ifndef BB_FEATURE_TRIVIAL_HELP |
382 | "\nPerforms a consistency check for MINIX filesystems.\n\n" | 382 | "\n\nPerforms a consistency check for MINIX filesystems.\n\n" |
383 | "Options:\n" | 383 | "Options:\n" |
384 | "\t-l\tLists all filenames\n" | 384 | "\t-l\tLists all filenames\n" |
385 | "\t-r\tPerform interactive repairs\n" | 385 | "\t-r\tPerform interactive repairs\n" |
@@ -387,16 +387,16 @@ const char fsck_minix_usage[] = | |||
387 | "\t-v\tverbose\n" | 387 | "\t-v\tverbose\n" |
388 | "\t-s\tOutputs super-block information\n" | 388 | "\t-s\tOutputs super-block information\n" |
389 | "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n" | 389 | "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n" |
390 | "\t-f\tForce file system check.\n\n" | 390 | "\t-f\tForce file system check." |
391 | #endif | 391 | #endif |
392 | ; | 392 | ; |
393 | #endif | 393 | #endif |
394 | 394 | ||
395 | #if defined BB_GETOPT | 395 | #if defined BB_GETOPT |
396 | const char getopt_usage[] = | 396 | const char getopt_usage[] = |
397 | "getopt [OPTIONS]...\n" | 397 | "getopt [OPTIONS]..." |
398 | #ifndef BB_FEATURE_TRIVIAL_HELP | 398 | #ifndef BB_FEATURE_TRIVIAL_HELP |
399 | "Parse command options\n" | 399 | "\nParse command options\n" |
400 | " -a, --alternative Allow long options starting with single -\n" | 400 | " -a, --alternative Allow long options starting with single -\n" |
401 | " -l, --longoptions=longopts Long options to be recognized\n" | 401 | " -l, --longoptions=longopts Long options to be recognized\n" |
402 | " -n, --name=progname The name under which errors are reported\n" | 402 | " -n, --name=progname The name under which errors are reported\n" |
@@ -405,16 +405,16 @@ const char getopt_usage[] = | |||
405 | " -Q, --quiet-output No normal output\n" | 405 | " -Q, --quiet-output No normal output\n" |
406 | " -s, --shell=shell Set shell quoting conventions\n" | 406 | " -s, --shell=shell Set shell quoting conventions\n" |
407 | " -T, --test Test for getopt(1) version\n" | 407 | " -T, --test Test for getopt(1) version\n" |
408 | " -u, --unqote Do not quote the output\n" | 408 | " -u, --unqote Do not quote the output" |
409 | #endif | 409 | #endif |
410 | ; | 410 | ; |
411 | #endif | 411 | #endif |
412 | 412 | ||
413 | #if defined BB_GREP | 413 | #if defined BB_GREP |
414 | const char grep_usage[] = | 414 | const char grep_usage[] = |
415 | "grep [-ihHnqvs] pattern [files...]\n" | 415 | "grep [-ihHnqvs] pattern [files...]" |
416 | #ifndef BB_FEATURE_TRIVIAL_HELP | 416 | #ifndef BB_FEATURE_TRIVIAL_HELP |
417 | "\nSearch for PATTERN in each FILE or standard input.\n\n" | 417 | "\n\nSearch for PATTERN in each FILE or standard input.\n\n" |
418 | "Options:\n" | 418 | "Options:\n" |
419 | "\t-H\tprefix output lines with filename where match was found\n" | 419 | "\t-H\tprefix output lines with filename where match was found\n" |
420 | "\t-h\tsuppress the prefixing filename on output\n" | 420 | "\t-h\tsuppress the prefixing filename on output\n" |
@@ -422,200 +422,198 @@ const char grep_usage[] = | |||
422 | "\t-n\tprint line number with output lines\n" | 422 | "\t-n\tprint line number with output lines\n" |
423 | "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n" | 423 | "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n" |
424 | "\t-v\tselect non-matching lines\n" | 424 | "\t-v\tselect non-matching lines\n" |
425 | "\t-s\tsuppress file open/read error messages\n\n" | 425 | "\t-s\tsuppress file open/read error messages" |
426 | #endif | 426 | #endif |
427 | ; | 427 | ; |
428 | #endif | 428 | #endif |
429 | 429 | ||
430 | #if defined BB_GUNZIP | 430 | #if defined BB_GUNZIP |
431 | const char gunzip_usage[] = | 431 | const char gunzip_usage[] = |
432 | "gunzip [OPTION]... FILE\n" | 432 | "gunzip [OPTION]... FILE" |
433 | #ifndef BB_FEATURE_TRIVIAL_HELP | 433 | #ifndef BB_FEATURE_TRIVIAL_HELP |
434 | "\nUncompress FILE (or standard input if FILE is '-').\n\n" | 434 | "\n\nUncompress FILE (or standard input if FILE is '-').\n\n" |
435 | "Options:\n" | 435 | "Options:\n" |
436 | "\t-c\tWrite output to standard output\n" | 436 | "\t-c\tWrite output to standard output\n" |
437 | "\t-t\tTest compressed file integrity\n" | 437 | "\t-t\tTest compressed file integrity" |
438 | #endif | 438 | #endif |
439 | ; | 439 | ; |
440 | #endif | 440 | #endif |
441 | 441 | ||
442 | #if defined BB_GZIP | 442 | #if defined BB_GZIP |
443 | const char gzip_usage[] = | 443 | const char gzip_usage[] = |
444 | "gzip [OPTION]... FILE\n" | 444 | "gzip [OPTION]... FILE" |
445 | #ifndef BB_FEATURE_TRIVIAL_HELP | 445 | #ifndef BB_FEATURE_TRIVIAL_HELP |
446 | "\nCompress FILE with maximum compression.\n" | 446 | "\n\nCompress FILE with maximum compression.\n" |
447 | "When FILE is '-', reads standard input. Implies -c.\n\n" | 447 | "When FILE is '-', reads standard input. Implies -c.\n\n" |
448 | "Options:\n" | 448 | "Options:\n" |
449 | "\t-c\tWrite output to standard output instead of FILE.gz\n" | 449 | "\t-c\tWrite output to standard output instead of FILE.gz\n" |
450 | "\t-d\tdecompress\n" | 450 | "\t-d\tdecompress" |
451 | #endif | 451 | #endif |
452 | ; | 452 | ; |
453 | #endif | 453 | #endif |
454 | 454 | ||
455 | #if defined BB_HALT | 455 | #if defined BB_HALT |
456 | const char halt_usage[] = | 456 | const char halt_usage[] = |
457 | "halt\n" | 457 | "halt" |
458 | #ifndef BB_FEATURE_TRIVIAL_HELP | 458 | #ifndef BB_FEATURE_TRIVIAL_HELP |
459 | "\nHalt the system.\n" | 459 | "\n\nHalt the system." |
460 | #endif | 460 | #endif |
461 | ; | 461 | ; |
462 | #endif | 462 | #endif |
463 | 463 | ||
464 | #if defined BB_HEAD | 464 | #if defined BB_HEAD |
465 | const char head_usage[] = | 465 | const char head_usage[] = |
466 | "head [OPTION] [FILE]...\n" | 466 | "head [OPTION] [FILE]..." |
467 | #ifndef BB_FEATURE_TRIVIAL_HELP | 467 | #ifndef BB_FEATURE_TRIVIAL_HELP |
468 | "\nPrint first 10 lines of each FILE to standard output.\n" | 468 | "\n\nPrint first 10 lines of each FILE to standard output.\n" |
469 | "With more than one FILE, precede each with a header giving the\n" | 469 | "With more than one FILE, precede each with a header giving the\n" |
470 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" | 470 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" |
471 | 471 | ||
472 | "Options:\n" "\t-n NUM\t\tPrint first NUM lines instead of first 10\n" | 472 | "Options:\n" "\t-n NUM\t\tPrint first NUM lines instead of first 10" |
473 | #endif | 473 | #endif |
474 | ; | 474 | ; |
475 | #endif | 475 | #endif |
476 | 476 | ||
477 | #if defined BB_HOSTID | 477 | #if defined BB_HOSTID |
478 | const char hostid_usage[] = | 478 | const char hostid_usage[] = |
479 | "hostid\n" | 479 | "hostid" |
480 | #ifndef BB_FEATURE_TRIVIAL_HELP | 480 | #ifndef BB_FEATURE_TRIVIAL_HELP |
481 | "\nPrint out a unique 32-bit identifier for the machine.\n" | 481 | "\n\nPrint out a unique 32-bit identifier for the machine." |
482 | #endif | 482 | #endif |
483 | ; | 483 | ; |
484 | #endif | 484 | #endif |
485 | 485 | ||
486 | #if defined BB_HOSTNAME | 486 | #if defined BB_HOSTNAME |
487 | const char hostname_usage[] = | 487 | const char hostname_usage[] = |
488 | "hostname [OPTION] {hostname | -F file}\n" | 488 | "hostname [OPTION] {hostname | -F file}" |
489 | #ifndef BB_FEATURE_TRIVIAL_HELP | 489 | #ifndef BB_FEATURE_TRIVIAL_HELP |
490 | "\nGet or set the hostname or DNS domain name. If a hostname is given\n" | 490 | "\n\nGet or set the hostname or DNS domain name. If a hostname is given\n" |
491 | "(or a file with the -F parameter), the host name will be set.\n\n" | 491 | "(or a file with the -F parameter), the host name will be set.\n\n" |
492 | |||
492 | "Options:\n" | 493 | "Options:\n" |
493 | "\t-s\t\tShort\n" | 494 | "\t-s\t\tShort\n" |
494 | |||
495 | "\t-i\t\tAddresses for the hostname\n" | 495 | "\t-i\t\tAddresses for the hostname\n" |
496 | "\t-d\t\tDNS domain name\n" | 496 | "\t-d\t\tDNS domain name\n" |
497 | "\t-F, --file FILE\tUse the contents of FILE to specify the hostname\n" | 497 | "\t-F, --file FILE\tUse the contents of FILE to specify the hostname" |
498 | #endif | 498 | #endif |
499 | ; | 499 | ; |
500 | #endif | 500 | #endif |
501 | 501 | ||
502 | #if defined BB_ID | 502 | #if defined BB_ID |
503 | const char id_usage[] = | 503 | const char id_usage[] = |
504 | "id [OPTIONS]... [USERNAME]\n" | 504 | "id [OPTIONS]... [USERNAME]" |
505 | #ifndef BB_FEATURE_TRIVIAL_HELP | 505 | #ifndef BB_FEATURE_TRIVIAL_HELP |
506 | "\nPrint information for USERNAME or the current user\n\n" | 506 | "\n\nPrint information for USERNAME or the current user\n\n" |
507 | "Options:\n" | 507 | "Options:\n" |
508 | "\t-g\tprints only the group ID\n" | 508 | "\t-g\tprints only the group ID\n" |
509 | "\t-u\tprints only the user ID\n" | 509 | "\t-u\tprints only the user ID\n" |
510 | "\t-r\tprints the real user ID instead of the effective ID (with -ug)\n\n" | 510 | "\t-r\tprints the real user ID instead of the effective ID (with -ug)" |
511 | #endif | 511 | #endif |
512 | ; | 512 | ; |
513 | #endif | 513 | #endif |
514 | 514 | ||
515 | #if defined BB_INSMOD | 515 | #if defined BB_INSMOD |
516 | const char insmod_usage[] = | 516 | const char insmod_usage[] = |
517 | "insmod [OPTION]... MODULE [symbol=value]...\n" | 517 | "insmod [OPTION]... MODULE [symbol=value]..." |
518 | #ifndef BB_FEATURE_TRIVIAL_HELP | 518 | #ifndef BB_FEATURE_TRIVIAL_HELP |
519 | "\nLoads the specified kernel modules into the kernel.\n\n" | 519 | "\n\nLoads the specified kernel modules into the kernel.\n\n" |
520 | "Options:\n" | 520 | "Options:\n" |
521 | "\t-f\tForce module to load into the wrong kernel version.\n" | 521 | "\t-f\tForce module to load into the wrong kernel version.\n" |
522 | "\t-k\tMake module autoclean-able.\n" | 522 | "\t-k\tMake module autoclean-able.\n" |
523 | "\t-v\tverbose output\n" "\t-x\tdo not export externs\n" | 523 | "\t-v\tverbose output\n" "\t-x\tdo not export externs" |
524 | #endif | 524 | #endif |
525 | ; | 525 | ; |
526 | #endif | 526 | #endif |
527 | 527 | ||
528 | #if defined BB_KILL | 528 | #if defined BB_KILL |
529 | const char kill_usage[] = | 529 | const char kill_usage[] = |
530 | "kill [-signal] process-id [process-id ...]\n" | 530 | "kill [-signal] process-id [process-id ...]" |
531 | #ifndef BB_FEATURE_TRIVIAL_HELP | 531 | #ifndef BB_FEATURE_TRIVIAL_HELP |
532 | "\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" | 532 | "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" |
533 | "Options:\n" "\t-l\tList all signal names and numbers.\n\n" | 533 | "Options:\n" "\t-l\tList all signal names and numbers." |
534 | #endif | 534 | #endif |
535 | ; | 535 | ; |
536 | #endif | 536 | #endif |
537 | 537 | ||
538 | #if defined BB_KILLALL | 538 | #if defined BB_KILLALL |
539 | const char killall_usage[] = | 539 | const char killall_usage[] = |
540 | "killall [-signal] process-name [process-name ...]\n" | 540 | "killall [-signal] process-name [process-name ...]" |
541 | #ifndef BB_FEATURE_TRIVIAL_HELP | 541 | #ifndef BB_FEATURE_TRIVIAL_HELP |
542 | "\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" | 542 | "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" |
543 | "Options:\n" "\t-l\tList all signal names and numbers.\n\n" | 543 | "Options:\n" "\t-l\tList all signal names and numbers." |
544 | #endif | 544 | #endif |
545 | ; | 545 | ; |
546 | #endif | 546 | #endif |
547 | 547 | ||
548 | #if defined BB_LENGTH | 548 | #if defined BB_LENGTH |
549 | const char length_usage[] = | 549 | const char length_usage[] = |
550 | "length STRING\n" | 550 | "length STRING" |
551 | #ifndef BB_FEATURE_TRIVIAL_HELP | 551 | #ifndef BB_FEATURE_TRIVIAL_HELP |
552 | "\nPrints out the length of the specified STRING.\n" | 552 | "\n\nPrints out the length of the specified STRING." |
553 | #endif | 553 | #endif |
554 | ; | 554 | ; |
555 | #endif | 555 | #endif |
556 | 556 | ||
557 | #if defined BB_LN | 557 | #if defined BB_LN |
558 | const char ln_usage[] = | 558 | const char ln_usage[] = |
559 | "ln [OPTION] TARGET... LINK_NAME|DIRECTORY\n" | 559 | "ln [OPTION] TARGET... LINK_NAME|DIRECTORY" |
560 | #ifndef BB_FEATURE_TRIVIAL_HELP | 560 | #ifndef BB_FEATURE_TRIVIAL_HELP |
561 | "\nCreate a link named LINK_NAME or DIRECTORY to the specified TARGET\n" | 561 | "\n\nCreate a link named LINK_NAME or DIRECTORY to the specified TARGET\n" |
562 | "\nYou may use '--' to indicate that all following arguments are non-options.\n\n" | 562 | "\nYou may use '--' to indicate that all following arguments are non-options.\n\n" |
563 | "Options:\n" | 563 | "Options:\n" |
564 | "\t-s\tmake symbolic links instead of hard links\n" | 564 | "\t-s\tmake symbolic links instead of hard links\n" |
565 | |||
566 | "\t-f\tremove existing destination files\n" | 565 | "\t-f\tremove existing destination files\n" |
567 | "\t-n\tno dereference symlinks - treat like normal file\n" | 566 | "\t-n\tno dereference symlinks - treat like normal file" |
568 | #endif | 567 | #endif |
569 | ; | 568 | ; |
570 | #endif | 569 | #endif |
571 | 570 | ||
572 | #if defined BB_LOADACM | 571 | #if defined BB_LOADACM |
573 | const char loadacm_usage[] = | 572 | const char loadacm_usage[] = |
574 | "loadacm < mapfile\n" | 573 | "loadacm < mapfile" |
575 | #ifndef BB_FEATURE_TRIVIAL_HELP | 574 | #ifndef BB_FEATURE_TRIVIAL_HELP |
576 | "\nLoads an acm from standard input.\n" | 575 | "\n\nLoads an acm from standard input." |
577 | #endif | 576 | #endif |
578 | ; | 577 | ; |
579 | #endif | 578 | #endif |
580 | 579 | ||
581 | #if defined BB_LOADFONT | 580 | #if defined BB_LOADFONT |
582 | const char loadfont_usage[] = | 581 | const char loadfont_usage[] = |
583 | "loadfont < font\n" | 582 | "loadfont < font" |
584 | #ifndef BB_FEATURE_TRIVIAL_HELP | 583 | #ifndef BB_FEATURE_TRIVIAL_HELP |
585 | "Loads a console font from standard input.\n" | 584 | "\n\nLoads a console font from standard input." |
586 | #endif | 585 | #endif |
587 | ; | 586 | ; |
588 | #endif | 587 | #endif |
589 | 588 | ||
590 | #if defined BB_LOADKMAP | 589 | #if defined BB_LOADKMAP |
591 | const char loadkmap_usage[] = | 590 | const char loadkmap_usage[] = |
592 | "loadkmap < keymap\n" | 591 | "loadkmap < keymap" |
593 | #ifndef BB_FEATURE_TRIVIAL_HELP | 592 | #ifndef BB_FEATURE_TRIVIAL_HELP |
594 | "\nLoads a binary keyboard translation table from standard input.\n" | 593 | "\n\nLoads a binary keyboard translation table from standard input." |
595 | #endif | 594 | #endif |
596 | ; | 595 | ; |
597 | #endif | 596 | #endif |
598 | 597 | ||
599 | #if defined BB_LOGGER | 598 | #if defined BB_LOGGER |
600 | const char logger_usage[] = | 599 | const char logger_usage[] = |
601 | "logger [OPTION]... [MESSAGE]\n" | 600 | "logger [OPTION]... [MESSAGE]" |
602 | #ifndef BB_FEATURE_TRIVIAL_HELP | 601 | #ifndef BB_FEATURE_TRIVIAL_HELP |
603 | "\nWrite MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n" | 602 | "\n\nWrite MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n" |
604 | "Options:\n" | 603 | "Options:\n" |
605 | "\t-s\tLog to stderr as well as the system log.\n" | 604 | "\t-s\tLog to stderr as well as the system log.\n" |
606 | "\t-t\tLog using the specified tag (defaults to user name).\n" | 605 | "\t-t\tLog using the specified tag (defaults to user name).\n" |
607 | |||
608 | "\t-p\tEnter the message with the specified priority.\n" | 606 | "\t-p\tEnter the message with the specified priority.\n" |
609 | "\t\tThis may be numerical or a ``facility.level'' pair.\n" | 607 | "\t\tThis may be numerical or a ``facility.level'' pair." |
610 | #endif | 608 | #endif |
611 | ; | 609 | ; |
612 | #endif | 610 | #endif |
613 | 611 | ||
614 | #if defined BB_LOGNAME | 612 | #if defined BB_LOGNAME |
615 | const char logname_usage[] = | 613 | const char logname_usage[] = |
616 | "logname\n" | 614 | "logname" |
617 | #ifndef BB_FEATURE_TRIVIAL_HELP | 615 | #ifndef BB_FEATURE_TRIVIAL_HELP |
618 | "\nPrint the name of the current user.\n" | 616 | "\n\nPrint the name of the current user." |
619 | #endif | 617 | #endif |
620 | ; | 618 | ; |
621 | #endif | 619 | #endif |
@@ -663,9 +661,9 @@ const char ls_usage[] = | |||
663 | #ifdef BB_FEATURE_LS_SORTFILES | 661 | #ifdef BB_FEATURE_LS_SORTFILES |
664 | "X" | 662 | "X" |
665 | #endif | 663 | #endif |
666 | "] [filenames...]\n" | 664 | "] [filenames...]" |
667 | #ifndef BB_FEATURE_TRIVIAL_HELP | 665 | #ifndef BB_FEATURE_TRIVIAL_HELP |
668 | "\nList directory contents\n\n" | 666 | "\n\nList directory contents\n\n" |
669 | "Options:\n" | 667 | "Options:\n" |
670 | "\t-1\tlist files in a single column\n" | 668 | "\t-1\tlist files in a single column\n" |
671 | "\t-A\tdo not list implied . and ..\n" | 669 | "\t-A\tdo not list implied . and ..\n" |
@@ -689,7 +687,7 @@ const char ls_usage[] = | |||
689 | "\t-p\tappend indicator (one of /=@|) to entries\n" | 687 | "\t-p\tappend indicator (one of /=@|) to entries\n" |
690 | #endif | 688 | #endif |
691 | #ifdef BB_FEATURE_LS_FOLLOWLINKS | 689 | #ifdef BB_FEATURE_LS_FOLLOWLINKS |
692 | "\t-L\tlist entries pointed to by symbolic links\n" | 690 | "\t-L\tlist entries pointed to by symbolic links\n" |
693 | #endif | 691 | #endif |
694 | #ifdef BB_FEATURE_LS_RECURSIVE | 692 | #ifdef BB_FEATURE_LS_RECURSIVE |
695 | "\t-R\tlist subdirectories recursively\n" | 693 | "\t-R\tlist subdirectories recursively\n" |
@@ -724,18 +722,18 @@ const char ls_usage[] = | |||
724 | 722 | ||
725 | #if defined BB_LSMOD | 723 | #if defined BB_LSMOD |
726 | const char lsmod_usage[] = | 724 | const char lsmod_usage[] = |
727 | "lsmod\n" | 725 | "lsmod" |
728 | #ifndef BB_FEATURE_TRIVIAL_HELP | 726 | #ifndef BB_FEATURE_TRIVIAL_HELP |
729 | "\nList the currently loaded kernel modules.\n" | 727 | "\n\nList the currently loaded kernel modules." |
730 | #endif | 728 | #endif |
731 | ; | 729 | ; |
732 | #endif | 730 | #endif |
733 | 731 | ||
734 | #if defined BB_MAKEDEVS | 732 | #if defined BB_MAKEDEVS |
735 | const char makedevs_usage[] = | 733 | const char makedevs_usage[] = |
736 | "makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]\n" | 734 | "makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]" |
737 | #ifndef BB_FEATURE_TRIVIAL_HELP | 735 | #ifndef BB_FEATURE_TRIVIAL_HELP |
738 | "\nCreates a range of block or character special files\n\n" | 736 | "\n\nCreates a range of block or character special files\n\n" |
739 | "TYPEs include:\n" | 737 | "TYPEs include:\n" |
740 | "\tb:\tMake a block (buffered) device.\n" | 738 | "\tb:\tMake a block (buffered) device.\n" |
741 | "\tc or u:\tMake a character (un-buffered) device.\n" | 739 | "\tc or u:\tMake a character (un-buffered) device.\n" |
@@ -745,7 +743,7 @@ const char makedevs_usage[] = | |||
745 | "If 's' is the last argument, the base device is created as well.\n\n" | 743 | "If 's' is the last argument, the base device is created as well.\n\n" |
746 | "For example:\n" | 744 | "For example:\n" |
747 | "\tmakedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n" | 745 | "\tmakedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n" |
748 | "\tmakedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8\n" | 746 | "\tmakedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" |
749 | #endif | 747 | #endif |
750 | ; | 748 | ; |
751 | #endif | 749 | #endif |
@@ -753,9 +751,9 @@ const char makedevs_usage[] = | |||
753 | #if defined BB_MD5SUM | 751 | #if defined BB_MD5SUM |
754 | const char md5sum_usage[] = | 752 | const char md5sum_usage[] = |
755 | "md5sum [OPTION] [FILE]...\n" | 753 | "md5sum [OPTION] [FILE]...\n" |
756 | "or: md5sum [OPTION] -c [FILE]\n" | 754 | "or: md5sum [OPTION] -c [FILE]" |
757 | #ifndef BB_FEATURE_TRIVIAL_HELP | 755 | #ifndef BB_FEATURE_TRIVIAL_HELP |
758 | "\nPrint or check MD5 checksums.\n\n" | 756 | "\n\nPrint or check MD5 checksums.\n\n" |
759 | "Options:\n" | 757 | "Options:\n" |
760 | "With no FILE, or when FILE is -, read standard input.\n\n" | 758 | "With no FILE, or when FILE is -, read standard input.\n\n" |
761 | "\t-b\tread files in binary mode\n" | 759 | "\t-b\tread files in binary mode\n" |
@@ -764,103 +762,102 @@ const char md5sum_usage[] = | |||
764 | "\t-g\tread a string\n" | 762 | "\t-g\tread a string\n" |
765 | "\nThe following two options are useful only when verifying checksums:\n" | 763 | "\nThe following two options are useful only when verifying checksums:\n" |
766 | "\t-s,\tdon't output anything, status code shows success\n" | 764 | "\t-s,\tdon't output anything, status code shows success\n" |
767 | "\t-w,\twarn about improperly formated MD5 checksum lines\n" | 765 | "\t-w,\twarn about improperly formated MD5 checksum lines" |
768 | #endif | 766 | #endif |
769 | ; | 767 | ; |
770 | #endif | 768 | #endif |
771 | 769 | ||
772 | #if defined BB_MKDIR | 770 | #if defined BB_MKDIR |
773 | const char mkdir_usage[] = | 771 | const char mkdir_usage[] = |
774 | "mkdir [OPTION] DIRECTORY...\n" | 772 | "mkdir [OPTION] DIRECTORY..." |
775 | #ifndef BB_FEATURE_TRIVIAL_HELP | 773 | #ifndef BB_FEATURE_TRIVIAL_HELP |
776 | "\nCreate the DIRECTORY(ies), if they do not already exist\n\n" | 774 | "\n\nCreate the DIRECTORY(ies), if they do not already exist\n\n" |
775 | |||
777 | "Options:\n" | 776 | "Options:\n" |
778 | |||
779 | "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n" | 777 | "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n" |
780 | "\t-p\tno error if existing, make parent directories as needed\n" | 778 | "\t-p\tno error if existing, make parent directories as needed" |
781 | #endif | 779 | #endif |
782 | ; | 780 | ; |
783 | #endif | 781 | #endif |
784 | 782 | ||
785 | #if defined BB_MKFIFO | 783 | #if defined BB_MKFIFO |
786 | const char mkfifo_usage[] = | 784 | const char mkfifo_usage[] = |
787 | "mkfifo [OPTIONS] name\n" | 785 | "mkfifo [OPTIONS] name" |
788 | #ifndef BB_FEATURE_TRIVIAL_HELP | 786 | #ifndef BB_FEATURE_TRIVIAL_HELP |
789 | "\nCreates a named pipe (identical to 'mknod name p')\n\n" | 787 | "\n\nCreates a named pipe (identical to 'mknod name p')\n\n" |
790 | "Options:\n" | 788 | "Options:\n" |
791 | "\t-m\tcreate the pipe using the specified mode (default a=rw)\n" | 789 | "\t-m\tcreate the pipe using the specified mode (default a=rw)" |
792 | #endif | 790 | #endif |
793 | ; | 791 | ; |
794 | #endif | 792 | #endif |
795 | 793 | ||
796 | #if defined BB_MKFS_MINIX | 794 | #if defined BB_MKFS_MINIX |
797 | const char mkfs_minix_usage[] = | 795 | const char mkfs_minix_usage[] = |
798 | "mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n" | 796 | "mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]" |
799 | #ifndef BB_FEATURE_TRIVIAL_HELP | 797 | #ifndef BB_FEATURE_TRIVIAL_HELP |
800 | "\nMake a MINIX filesystem.\n\n" | 798 | "\n\nMake a MINIX filesystem.\n\n" |
801 | "Options:\n" | 799 | "Options:\n" |
802 | "\t-c\t\tCheck the device for bad blocks\n" | 800 | "\t-c\t\tCheck the device for bad blocks\n" |
803 | "\t-n [14|30]\tSpecify the maximum length of filenames\n" | 801 | "\t-n [14|30]\tSpecify the maximum length of filenames\n" |
804 | "\t-i INODES\tSpecify the number of inodes for the filesystem\n" | 802 | "\t-i INODES\tSpecify the number of inodes for the filesystem\n" |
805 | "\t-l FILENAME\tRead the bad blocks list from FILENAME\n" | 803 | "\t-l FILENAME\tRead the bad blocks list from FILENAME\n" |
806 | "\t-v\t\tMake a Minix version 2 filesystem\n\n" | 804 | "\t-v\t\tMake a Minix version 2 filesystem" |
807 | #endif | 805 | #endif |
808 | ; | 806 | ; |
809 | #endif | 807 | #endif |
810 | 808 | ||
811 | #if defined BB_MKNOD | 809 | #if defined BB_MKNOD |
812 | const char mknod_usage[] = | 810 | const char mknod_usage[] = |
813 | "mknod [OPTIONS] NAME TYPE MAJOR MINOR\n" | 811 | "mknod [OPTIONS] NAME TYPE MAJOR MINOR" |
814 | #ifndef BB_FEATURE_TRIVIAL_HELP | 812 | #ifndef BB_FEATURE_TRIVIAL_HELP |
815 | "\nCreate a special file (block, character, or pipe).\n\n" | 813 | "\n\nCreate a special file (block, character, or pipe).\n\n" |
816 | "Options:\n" | 814 | "Options:\n" |
817 | "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n" | 815 | "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n" |
818 | "TYPEs include:\n" | 816 | "TYPEs include:\n" |
819 | "\tb:\tMake a block (buffered) device.\n" | 817 | "\tb:\tMake a block (buffered) device.\n" |
820 | "\tc or u:\tMake a character (un-buffered) device.\n" | 818 | "\tc or u:\tMake a character (un-buffered) device.\n" |
821 | "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes.\n" | 819 | "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes." |
822 | #endif | 820 | #endif |
823 | ; | 821 | ; |
824 | #endif | 822 | #endif |
825 | 823 | ||
826 | #if defined BB_MKSWAP | 824 | #if defined BB_MKSWAP |
827 | const char mkswap_usage[] = | 825 | const char mkswap_usage[] = |
828 | "mkswap [-c] [-v0|-v1] device [block-count]\n" | 826 | "mkswap [-c] [-v0|-v1] device [block-count]" |
829 | #ifndef BB_FEATURE_TRIVIAL_HELP | 827 | #ifndef BB_FEATURE_TRIVIAL_HELP |
830 | "\nPrepare a disk partition to be used as a swap partition.\n\n" | 828 | "\n\nPrepare a disk partition to be used as a swap partition.\n\n" |
831 | "Options:\n" "\t-c\t\tCheck for read-ability.\n" | 829 | "Options:\n" "\t-c\t\tCheck for read-ability.\n" |
832 | "\t-v0\t\tMake version 0 swap [max 128 Megs].\n" | 830 | "\t-v0\t\tMake version 0 swap [max 128 Megs].\n" |
833 | "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n" | 831 | "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n" |
834 | 832 | "\tblock-count\tNumber of block to use (default is entire partition)." | |
835 | "\tblock-count\tNumber of block to use (default is entire partition).\n" | ||
836 | #endif | 833 | #endif |
837 | ; | 834 | ; |
838 | #endif | 835 | #endif |
839 | 836 | ||
840 | #if defined BB_MKTEMP | 837 | #if defined BB_MKTEMP |
841 | const char mktemp_usage[] = | 838 | const char mktemp_usage[] = |
842 | "mktemp [-q] TEMPLATE\n" | 839 | "mktemp [-q] TEMPLATE" |
843 | #ifndef BB_FEATURE_TRIVIAL_HELP | 840 | #ifndef BB_FEATURE_TRIVIAL_HELP |
844 | "\nCreates a temporary file with its name based on TEMPLATE.\n" | 841 | "\n\nCreates a temporary file with its name based on TEMPLATE.\n" |
845 | "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).\n" | 842 | "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX)." |
846 | #endif | 843 | #endif |
847 | ; | 844 | ; |
848 | #endif | 845 | #endif |
849 | 846 | ||
850 | #if defined BB_MORE | 847 | #if defined BB_MORE |
851 | const char more_usage[] = | 848 | const char more_usage[] = |
852 | "more [FILE ...]\n" | 849 | "more [FILE ...]" |
853 | #ifndef BB_FEATURE_TRIVIAL_HELP | 850 | #ifndef BB_FEATURE_TRIVIAL_HELP |
854 | "\nMore is a filter for viewing FILE one screenful at a time.\n" | 851 | "\n\nMore is a filter for viewing FILE one screenful at a time." |
855 | #endif | 852 | #endif |
856 | ; | 853 | ; |
857 | #endif | 854 | #endif |
858 | 855 | ||
859 | #if defined BB_MOUNT | 856 | #if defined BB_MOUNT |
860 | const char mount_usage[] = | 857 | const char mount_usage[] = |
861 | "mount [flags] device directory [-o options,more-options]\n" | 858 | "mount [flags] device directory [-o options,more-options]" |
862 | #ifndef BB_FEATURE_TRIVIAL_HELP | 859 | #ifndef BB_FEATURE_TRIVIAL_HELP |
863 | "\nMount a filesystem\n\n" | 860 | "\n\nMount a filesystem\n\n" |
864 | "Flags:\n" | 861 | "Flags:\n" |
865 | "\t-a:\t\tMount all filesystems in fstab.\n" | 862 | "\t-a:\t\tMount all filesystems in fstab.\n" |
866 | #ifdef BB_MTAB | 863 | #ifdef BB_MTAB |
@@ -884,21 +881,21 @@ const char mount_usage[] = | |||
884 | "\tremount:\tRe-mount a currently-mounted filesystem, changing its flags.\n" | 881 | "\tremount:\tRe-mount a currently-mounted filesystem, changing its flags.\n" |
885 | "\tro/rw:\t\tMount for read-only / read-write.\n" | 882 | "\tro/rw:\t\tMount for read-only / read-write.\n" |
886 | "\nThere are EVEN MORE flags that are specific to each filesystem.\n" | 883 | "\nThere are EVEN MORE flags that are specific to each filesystem.\n" |
887 | "You'll have to see the written documentation for those.\n" | 884 | "You'll have to see the written documentation for those." |
888 | #endif | 885 | #endif |
889 | ; | 886 | ; |
890 | #endif | 887 | #endif |
891 | 888 | ||
892 | #if defined BB_MT | 889 | #if defined BB_MT |
893 | const char mt_usage[] = | 890 | const char mt_usage[] = |
894 | "mt [-f device] opcode value\n" | 891 | "mt [-f device] opcode value" |
895 | #ifndef BB_FEATURE_TRIVIAL_HELP | 892 | #ifndef BB_FEATURE_TRIVIAL_HELP |
896 | "\nControl magnetic tape drive operation\n" | 893 | "\n\nControl magnetic tape drive operation\n" |
897 | "\nAvailable Opcodes:\n\n" | 894 | "\nAvailable Opcodes:\n\n" |
898 | "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" | 895 | "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" |
899 | "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" | 896 | "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" |
900 | "ras3 reset retension rew rewoffline seek setblk setdensity\n" | 897 | "ras3 reset retension rew rewoffline seek setblk setdensity\n" |
901 | "setpart tell unload unlock weof wset\n" | 898 | "setpart tell unload unlock weof wset" |
902 | #endif | 899 | #endif |
903 | ; | 900 | ; |
904 | #endif | 901 | #endif |
@@ -906,27 +903,27 @@ const char mt_usage[] = | |||
906 | #if defined BB_CP_MV | 903 | #if defined BB_CP_MV |
907 | const char mv_usage[] = | 904 | const char mv_usage[] = |
908 | "mv SOURCE DEST\n" | 905 | "mv SOURCE DEST\n" |
909 | " or: mv SOURCE... DIRECTORY\n" | 906 | " or: mv SOURCE... DIRECTORY" |
910 | #ifndef BB_FEATURE_TRIVIAL_HELP | 907 | #ifndef BB_FEATURE_TRIVIAL_HELP |
911 | "\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" | 908 | "\n\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY." |
912 | #endif | 909 | #endif |
913 | ; | 910 | ; |
914 | #endif | 911 | #endif |
915 | 912 | ||
916 | #if defined BB_NC | 913 | #if defined BB_NC |
917 | const char nc_usage[] = | 914 | const char nc_usage[] = |
918 | "nc [IP] [port]\n" | 915 | "nc [IP] [port]" |
919 | #ifndef BB_FEATURE_TRIVIAL_HELP | 916 | #ifndef BB_FEATURE_TRIVIAL_HELP |
920 | "\nNetcat opens a pipe to IP:port\n" | 917 | "\n\nNetcat opens a pipe to IP:port" |
921 | #endif | 918 | #endif |
922 | ; | 919 | ; |
923 | #endif | 920 | #endif |
924 | 921 | ||
925 | #if defined BB_NSLOOKUP | 922 | #if defined BB_NSLOOKUP |
926 | const char nslookup_usage[] = | 923 | const char nslookup_usage[] = |
927 | "nslookup [HOST]\n" | 924 | "nslookup [HOST]" |
928 | #ifndef BB_FEATURE_TRIVIAL_HELP | 925 | #ifndef BB_FEATURE_TRIVIAL_HELP |
929 | "\nQueries the nameserver for the IP address of the given HOST\n" | 926 | "\n\nQueries the nameserver for the IP address of the given HOST" |
930 | #endif | 927 | #endif |
931 | ; | 928 | ; |
932 | #endif | 929 | #endif |
@@ -934,21 +931,21 @@ const char nslookup_usage[] = | |||
934 | #if defined BB_PING | 931 | #if defined BB_PING |
935 | #if defined BB_FEATURE_SIMPLE_PING | 932 | #if defined BB_FEATURE_SIMPLE_PING |
936 | const char ping_usage[] = | 933 | const char ping_usage[] = |
937 | "ping host\n" | 934 | "ping host" |
938 | #ifndef BB_FEATURE_TRIVIAL_HELP | 935 | #ifndef BB_FEATURE_TRIVIAL_HELP |
939 | "\nSend ICMP ECHO_REQUEST packets to network hosts\n" | 936 | "\n\nSend ICMP ECHO_REQUEST packets to network hosts" |
940 | #endif | 937 | #endif |
941 | ; | 938 | ; |
942 | #else /* ! defined BB_FEATURE_SIMPLE_PING */ | 939 | #else /* ! defined BB_FEATURE_SIMPLE_PING */ |
943 | const char ping_usage[] = | 940 | const char ping_usage[] = |
944 | "ping [OPTION]... host\n" | 941 | "ping [OPTION]... host" |
945 | #ifndef BB_FEATURE_TRIVIAL_HELP | 942 | #ifndef BB_FEATURE_TRIVIAL_HELP |
946 | "\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n" | 943 | "\n\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n" |
947 | "Options:\n" | 944 | "Options:\n" |
948 | "\t-c COUNT\tSend only COUNT pings.\n" | 945 | "\t-c COUNT\tSend only COUNT pings.\n" |
949 | "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n" | 946 | "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n" |
950 | "\t-q\t\tQuiet mode, only displays output at start\n" | 947 | "\t-q\t\tQuiet mode, only displays output at start\n" |
951 | "\t\t\tand when finished.\n" | 948 | "\t\t\tand when finished." |
952 | #endif | 949 | #endif |
953 | ; | 950 | ; |
954 | #endif | 951 | #endif |
@@ -956,79 +953,79 @@ const char ping_usage[] = | |||
956 | 953 | ||
957 | #if defined BB_POWEROFF | 954 | #if defined BB_POWEROFF |
958 | const char poweroff_usage[] = | 955 | const char poweroff_usage[] = |
959 | "poweroff\n" | 956 | "poweroff" |
960 | #ifndef BB_FEATURE_TRIVIAL_HELP | 957 | #ifndef BB_FEATURE_TRIVIAL_HELP |
961 | "\nHalt the system and request that the kernel shut off the power.\n" | 958 | "\n\nHalt the system and request that the kernel shut off the power." |
962 | #endif | 959 | #endif |
963 | ; | 960 | ; |
964 | #endif | 961 | #endif |
965 | 962 | ||
966 | #if defined BB_PRINTF | 963 | #if defined BB_PRINTF |
967 | const char printf_usage[] = | 964 | const char printf_usage[] = |
968 | "printf FORMAT [ARGUMENT...]\n" | 965 | "printf FORMAT [ARGUMENT...]" |
969 | #ifndef BB_FEATURE_TRIVIAL_HELP | 966 | #ifndef BB_FEATURE_TRIVIAL_HELP |
970 | "\nFormats and prints ARGUMENT(s) according to FORMAT,\n" | 967 | "\n\nFormats and prints ARGUMENT(s) according to FORMAT,\n" |
971 | "Where FORMAT controls the output exactly as in C printf.\n" | 968 | "Where FORMAT controls the output exactly as in C printf." |
972 | #endif | 969 | #endif |
973 | ; | 970 | ; |
974 | #endif | 971 | #endif |
975 | 972 | ||
976 | #if defined BB_PS | 973 | #if defined BB_PS |
977 | const char ps_usage[] = | 974 | const char ps_usage[] = |
978 | "ps\n" | 975 | "ps" |
979 | #ifndef BB_FEATURE_TRIVIAL_HELP | 976 | #ifndef BB_FEATURE_TRIVIAL_HELP |
980 | "\nReport process status\n" | 977 | "\n\nReport process status\n" |
981 | "\nThis version of ps accepts no options.\n" | 978 | "\nThis version of ps accepts no options." |
982 | #endif | 979 | #endif |
983 | ; | 980 | ; |
984 | #endif | 981 | #endif |
985 | 982 | ||
986 | #if defined BB_PWD | 983 | #if defined BB_PWD |
987 | const char pwd_usage[] = | 984 | const char pwd_usage[] = |
988 | "pwd\n" | 985 | "pwd" |
989 | #ifndef BB_FEATURE_TRIVIAL_HELP | 986 | #ifndef BB_FEATURE_TRIVIAL_HELP |
990 | "\nPrint the full filename of the current working directory.\n" | 987 | "\n\nPrint the full filename of the current working directory." |
991 | #endif | 988 | #endif |
992 | ; | 989 | ; |
993 | #endif | 990 | #endif |
994 | 991 | ||
995 | #if defined BB_RDATE | 992 | #if defined BB_RDATE |
996 | const char rdate_usage[] = | 993 | const char rdate_usage[] = |
997 | "rdate [OPTION] HOST\n" | 994 | "rdate [OPTION] HOST" |
998 | #ifndef BB_FEATURE_TRIVIAL_HELP | 995 | #ifndef BB_FEATURE_TRIVIAL_HELP |
999 | "\nGet and possibly set the system date and time from a remote HOST.\n" | 996 | "\n\nGet and possibly set the system date and time from a remote HOST.\n" |
1000 | "Options:\n" | 997 | "Options:\n" |
1001 | "\t-s\tSet the system date and time (default).\n" | 998 | "\t-s\tSet the system date and time (default).\n" |
1002 | "\t-p\tPrint the date and time.\n" | 999 | "\t-p\tPrint the date and time." |
1003 | #endif | 1000 | #endif |
1004 | ; | 1001 | ; |
1005 | #endif | 1002 | #endif |
1006 | 1003 | ||
1007 | #if defined BB_READLINK | 1004 | #if defined BB_READLINK |
1008 | const char readlink_usage[] = | 1005 | const char readlink_usage[] = |
1009 | "readlink\n" | 1006 | "readlink" |
1010 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1007 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1011 | "\nRead a symbolic link.\n" | 1008 | "\n\nRead a symbolic link." |
1012 | #endif | 1009 | #endif |
1013 | ; | 1010 | ; |
1014 | #endif | 1011 | #endif |
1015 | 1012 | ||
1016 | #if defined BB_REBOOT | 1013 | #if defined BB_REBOOT |
1017 | const char reboot_usage[] = | 1014 | const char reboot_usage[] = |
1018 | "reboot\n" | 1015 | "reboot" |
1019 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1016 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1020 | "\nReboot the system.\n" | 1017 | "\n\nReboot the system." |
1021 | #endif | 1018 | #endif |
1022 | ; | 1019 | ; |
1023 | #endif | 1020 | #endif |
1024 | 1021 | ||
1025 | #if defined BB_RENICE | 1022 | #if defined BB_RENICE |
1026 | const char renice_usage[] = | 1023 | const char renice_usage[] = |
1027 | "renice priority pid [pid ...]\n" | 1024 | "renice priority pid [pid ...]" |
1028 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1025 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1029 | "\nChanges priority of running processes. Allowed priorities range\n" | 1026 | "\n\nChanges priority of running processes. Allowed priorities range\n" |
1030 | "from 20 (the process runs only when nothing else is running) to 0\n" | 1027 | "from 20 (the process runs only when nothing else is running) to 0\n" |
1031 | "(default priority) to -20 (almost nothing else ever gets to run).\n" | 1028 | "(default priority) to -20 (almost nothing else ever gets to run)." |
1032 | #endif | 1029 | #endif |
1033 | ; | 1030 | ; |
1034 | #endif | 1031 | #endif |
@@ -1036,60 +1033,60 @@ const char renice_usage[] = | |||
1036 | 1033 | ||
1037 | #if defined BB_RESET | 1034 | #if defined BB_RESET |
1038 | const char reset_usage[] = | 1035 | const char reset_usage[] = |
1039 | "reset\n" | 1036 | "reset" |
1040 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1037 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1041 | "\nResets the screen.\n" | 1038 | "\n\nResets the screen." |
1042 | #endif | 1039 | #endif |
1043 | ; | 1040 | ; |
1044 | #endif | 1041 | #endif |
1045 | 1042 | ||
1046 | #if defined BB_RM | 1043 | #if defined BB_RM |
1047 | const char rm_usage[] = | 1044 | const char rm_usage[] = |
1048 | "rm [OPTION]... FILE...\n" | 1045 | "rm [OPTION]... FILE..." |
1049 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1046 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1050 | "\nRemove (unlink) the FILE(s). You may use '--' to\n" | 1047 | "\n\nRemove (unlink) the FILE(s). You may use '--' to\n" |
1051 | "indicate that all following arguments are non-options.\n\n" | 1048 | "indicate that all following arguments are non-options.\n\n" |
1052 | "Options:\n" | 1049 | "Options:\n" |
1053 | "\t-f\t\tremove existing destinations, never prompt\n" | 1050 | "\t-f\t\tremove existing destinations, never prompt\n" |
1054 | "\t-r or -R\tremove the contents of directories recursively\n" | 1051 | "\t-r or -R\tremove the contents of directories recursively" |
1055 | #endif | 1052 | #endif |
1056 | ; | 1053 | ; |
1057 | #endif | 1054 | #endif |
1058 | 1055 | ||
1059 | #if defined BB_RMDIR | 1056 | #if defined BB_RMDIR |
1060 | const char rmdir_usage[] = | 1057 | const char rmdir_usage[] = |
1061 | "rmdir [OPTION]... DIRECTORY...\n" | 1058 | "rmdir [OPTION]... DIRECTORY..." |
1062 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1059 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1063 | "\nRemove the DIRECTORY(ies), if they are empty.\n" | 1060 | "\n\nRemove the DIRECTORY(ies), if they are empty." |
1064 | #endif | 1061 | #endif |
1065 | ; | 1062 | ; |
1066 | #endif | 1063 | #endif |
1067 | 1064 | ||
1068 | #if defined BB_RMMOD | 1065 | #if defined BB_RMMOD |
1069 | const char rmmod_usage[] = | 1066 | const char rmmod_usage[] = |
1070 | "rmmod [OPTION]... [MODULE]...\n" | 1067 | "rmmod [OPTION]... [MODULE]..." |
1071 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1068 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1072 | "\nUnloads the specified kernel modules from the kernel.\n\n" | 1069 | "\n\nUnloads the specified kernel modules from the kernel.\n\n" |
1073 | "Options:\n" | 1070 | "Options:\n" |
1074 | "\t-a\tTry to remove all unused kernel modules.\n" | 1071 | "\t-a\tTry to remove all unused kernel modules." |
1075 | #endif | 1072 | #endif |
1076 | ; | 1073 | ; |
1077 | #endif | 1074 | #endif |
1078 | 1075 | ||
1079 | #if defined BB_RPMUNPACK | 1076 | #if defined BB_RPMUNPACK |
1080 | const char rpmunpack_usage[] = | 1077 | const char rpmunpack_usage[] = |
1081 | "rpmunpack < package.rpm | gunzip | cpio -idmuv\n" | 1078 | "rpmunpack < package.rpm | gunzip | cpio -idmuv" |
1082 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1079 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1083 | "\nExtracts an rpm archive.\n" | 1080 | "\n\nExtracts an rpm archive." |
1084 | #endif | 1081 | #endif |
1085 | ; | 1082 | ; |
1086 | #endif | 1083 | #endif |
1087 | 1084 | ||
1088 | #if defined BB_SED | 1085 | #if defined BB_SED |
1089 | const char sed_usage[] = | 1086 | const char sed_usage[] = |
1090 | "sed [-Vhnef] pattern [files...]\n" | 1087 | "sed [-Vhnef] pattern [files...]" |
1091 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1088 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1092 | "\n" | 1089 | "\n\n" |
1093 | "-n\t\tsuppress automatic printing of pattern space\n" | 1090 | "-n\t\tsuppress automatic printing of pattern space\n" |
1094 | "-e script\tadd the script to the commands to be executed\n" | 1091 | "-e script\tadd the script to the commands to be executed\n" |
1095 | "-f scriptfile\tadd the contents of script-file to the commands to be executed\n" | 1092 | "-f scriptfile\tadd the contents of script-file to the commands to be executed\n" |
@@ -1097,19 +1094,19 @@ const char sed_usage[] = | |||
1097 | "\n" | 1094 | "\n" |
1098 | "If no -e or -f is given, the first non-option argument is taken as the\n" | 1095 | "If no -e or -f is given, the first non-option argument is taken as the\n" |
1099 | "sed script to interpret. All remaining arguments are names of input\n" | 1096 | "sed script to interpret. All remaining arguments are names of input\n" |
1100 | "files; if no input files are specified, then the standard input is read.\n" | 1097 | "files; if no input files are specified, then the standard input is read." |
1101 | #endif | 1098 | #endif |
1102 | ; | 1099 | ; |
1103 | #endif | 1100 | #endif |
1104 | 1101 | ||
1105 | #if defined BB_SETKEYCODES | 1102 | #if defined BB_SETKEYCODES |
1106 | const char setkeycodes_usage[] = | 1103 | const char setkeycodes_usage[] = |
1107 | "setkeycodes SCANCODE KEYCODE ...\n" | 1104 | "setkeycodes SCANCODE KEYCODE ..." |
1108 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1105 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1109 | "\nSet entries into the kernel's scancode-to-keycode map,\n" | 1106 | "\n\nSet entries into the kernel's scancode-to-keycode map,\n" |
1110 | "allowing unusual keyboards to generate usable keycodes.\n\n" | 1107 | "allowing unusual keyboards to generate usable keycodes.\n\n" |
1111 | "SCANCODE may be either xx or e0xx (hexadecimal),\n" | 1108 | "SCANCODE may be either xx or e0xx (hexadecimal),\n" |
1112 | "and KEYCODE is given in decimal\n" | 1109 | "and KEYCODE is given in decimal" |
1113 | #endif | 1110 | #endif |
1114 | ; | 1111 | ; |
1115 | #endif | 1112 | #endif |
@@ -1117,18 +1114,18 @@ const char setkeycodes_usage[] = | |||
1117 | #if defined BB_SH | 1114 | #if defined BB_SH |
1118 | const char shell_usage[] = | 1115 | const char shell_usage[] = |
1119 | "sh [FILE]...\n" | 1116 | "sh [FILE]...\n" |
1120 | " or: sh -c command [args]...\n" | 1117 | " or: sh -c command [args]..." |
1121 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1118 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1122 | "\nlash: The BusyBox command interpreter (shell).\n\n" | 1119 | "\n\nlash: The BusyBox command interpreter (shell)." |
1123 | #endif | 1120 | #endif |
1124 | ; | 1121 | ; |
1125 | #endif | 1122 | #endif |
1126 | 1123 | ||
1127 | #if defined BB_SLEEP | 1124 | #if defined BB_SLEEP |
1128 | const char sleep_usage[] = | 1125 | const char sleep_usage[] = |
1129 | "sleep N\n" | 1126 | "sleep N" |
1130 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1127 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1131 | "\nPause for N seconds.\n" | 1128 | "\n\nPause for N seconds." |
1132 | #endif | 1129 | #endif |
1133 | ; | 1130 | ; |
1134 | #endif | 1131 | #endif |
@@ -1139,49 +1136,49 @@ const char sort_usage[] = | |||
1139 | #ifdef BB_FEATURE_SORT_REVERSE | 1136 | #ifdef BB_FEATURE_SORT_REVERSE |
1140 | " [-r]" | 1137 | " [-r]" |
1141 | #endif | 1138 | #endif |
1142 | " [FILE]...\n" | 1139 | " [FILE]..." |
1143 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1140 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1144 | "\nSorts lines of text in the specified files\n" | 1141 | "\n\nSorts lines of text in the specified files" |
1145 | #endif | 1142 | #endif |
1146 | ; | 1143 | ; |
1147 | #endif | 1144 | #endif |
1148 | 1145 | ||
1149 | #if defined BB_SWAPONOFF | 1146 | #if defined BB_SWAPONOFF |
1150 | const char swapoff_usage[] = | 1147 | const char swapoff_usage[] = |
1151 | "swapoff [OPTION] [device]\n" | 1148 | "swapoff [OPTION] [device]" |
1152 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1149 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1153 | "\nStop swapping virtual memory pages on the given device.\n\n" | 1150 | "\n\nStop swapping virtual memory pages on the given device.\n\n" |
1154 | "Options:\n" | 1151 | "Options:\n" |
1155 | "\t-a\tStop swapping on all swap devices\n" | 1152 | "\t-a\tStop swapping on all swap devices" |
1156 | #endif | 1153 | #endif |
1157 | ; | 1154 | ; |
1158 | #endif | 1155 | #endif |
1159 | 1156 | ||
1160 | #if defined BB_SWAPONOFF | 1157 | #if defined BB_SWAPONOFF |
1161 | const char swapon_usage[] = | 1158 | const char swapon_usage[] = |
1162 | "swapon [OPTION] [device]\n" | 1159 | "swapon [OPTION] [device]" |
1163 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1160 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1164 | "\nStart swapping virtual memory pages on the given device.\n\n" | 1161 | "\n\nStart swapping virtual memory pages on the given device.\n\n" |
1165 | "Options:\n" | 1162 | "Options:\n" |
1166 | "\t-a\tStart swapping on all swap devices\n" | 1163 | "\t-a\tStart swapping on all swap devices" |
1167 | #endif | 1164 | #endif |
1168 | ; | 1165 | ; |
1169 | #endif | 1166 | #endif |
1170 | 1167 | ||
1171 | #if defined BB_SYNC | 1168 | #if defined BB_SYNC |
1172 | const char sync_usage[] = | 1169 | const char sync_usage[] = |
1173 | "sync\n" | 1170 | "sync" |
1174 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1171 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1175 | "\nWrite all buffered filesystem blocks to disk.\n" | 1172 | "\n\nWrite all buffered filesystem blocks to disk." |
1176 | #endif | 1173 | #endif |
1177 | ; | 1174 | ; |
1178 | #endif | 1175 | #endif |
1179 | 1176 | ||
1180 | #if defined BB_SYSLOGD | 1177 | #if defined BB_SYSLOGD |
1181 | const char syslogd_usage[] = | 1178 | const char syslogd_usage[] = |
1182 | "syslogd [OPTION]...\n" | 1179 | "syslogd [OPTION]..." |
1183 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1180 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1184 | "\nLinux system and kernel (provides klogd) logging utility.\n" | 1181 | "\n\nLinux system and kernel (provides klogd) logging utility.\n" |
1185 | "Note that this version of syslogd/klogd ignores /etc/syslog.conf.\n\n" | 1182 | "Note that this version of syslogd/klogd ignores /etc/syslog.conf.\n\n" |
1186 | "Options:\n" | 1183 | "Options:\n" |
1187 | "\t-m NUM\t\tInterval between MARK lines (default=20min, 0=off)\n" | 1184 | "\t-m NUM\t\tInterval between MARK lines (default=20min, 0=off)\n" |
@@ -1189,10 +1186,10 @@ const char syslogd_usage[] = | |||
1189 | #ifdef BB_FEATURE_KLOGD | 1186 | #ifdef BB_FEATURE_KLOGD |
1190 | "\t-K\t\tDo not start up the klogd process\n" | 1187 | "\t-K\t\tDo not start up the klogd process\n" |
1191 | #endif | 1188 | #endif |
1192 | "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)\n" | 1189 | "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)" |
1193 | #ifdef BB_FEATURE_REMOTE_LOG | 1190 | #ifdef BB_FEATURE_REMOTE_LOG |
1194 | "\t-R HOST[:PORT]\t\tLog remotely to IP or hostname on PORT (default PORT=514/UDP)\n" | 1191 | "\n\t-R HOST[:PORT]\t\tLog remotely to IP or hostname on PORT (default PORT=514/UDP)\n" |
1195 | "\t-L\t\tLog locally as well as network logging (default is network only)\n" | 1192 | "\t-L\t\tLog locally as well as network logging (default is network only)" |
1196 | #endif | 1193 | #endif |
1197 | #endif | 1194 | #endif |
1198 | ; | 1195 | ; |
@@ -1200,9 +1197,9 @@ const char syslogd_usage[] = | |||
1200 | 1197 | ||
1201 | #if defined BB_TAIL | 1198 | #if defined BB_TAIL |
1202 | const char tail_usage[] = | 1199 | const char tail_usage[] = |
1203 | "tail [OPTION]... [FILE]...\n" | 1200 | "tail [OPTION]... [FILE]..." |
1204 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1201 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1205 | "\nPrint last 10 lines of each FILE to standard output.\n" | 1202 | "\n\nPrint last 10 lines of each FILE to standard output.\n" |
1206 | "With more than one FILE, precede each with a header giving the\n" | 1203 | "With more than one FILE, precede each with a header giving the\n" |
1207 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" | 1204 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" |
1208 | "Options:\n" | 1205 | "Options:\n" |
@@ -1210,17 +1207,17 @@ const char tail_usage[] = | |||
1210 | "\t-c N[kbm]\toutput the last N bytes\n" | 1207 | "\t-c N[kbm]\toutput the last N bytes\n" |
1211 | #endif | 1208 | #endif |
1212 | "\t-n N[kbm]\tprint last N lines instead of last 10\n" | 1209 | "\t-n N[kbm]\tprint last N lines instead of last 10\n" |
1213 | "\t-f\t\toutput data as the file grows\n" | 1210 | "\t-f\t\toutput data as the file grows" |
1214 | #ifndef BB_FEATURE_SIMPLE_TAIL | 1211 | #ifndef BB_FEATURE_SIMPLE_TAIL |
1215 | "\t-q\t\tnever output headers giving file names\n" | 1212 | "\n\t-q\t\tnever output headers giving file names\n" |
1216 | "\t-s SEC\t\twait SEC seconds between reads with -f\n" | 1213 | "\t-s SEC\t\twait SEC seconds between reads with -f\n" |
1217 | "\t-v\t\talways output headers giving file names\n\n" | 1214 | "\t-v\t\talways output headers giving file names\n\n" |
1218 | "If the first character of N (bytes or lines) is a `+', output begins with \n" | 1215 | "If the first character of N (bytes or lines) is a `+', output begins with \n" |
1219 | "the Nth item from the start of each file, otherwise, print the last N items\n" | 1216 | "the Nth item from the start of each file, otherwise, print the last N items\n" |
1220 | "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2).\n" | 1217 | "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2)." |
1221 | //#else | 1218 | //#else |
1222 | // "\nIf the first character of N (bytes or lines) is a `+', output begins with \n" | 1219 | // "\nIf the first character of N (bytes or lines) is a `+', output begins with \n" |
1223 | // "the Nth item from the start of each file.\n" | 1220 | // "the Nth item from the start of each file." |
1224 | #endif | 1221 | #endif |
1225 | #endif | 1222 | #endif |
1226 | ; | 1223 | ; |
@@ -1237,9 +1234,9 @@ const char tar_usage[] = | |||
1237 | "[--exclude File] " | 1234 | "[--exclude File] " |
1238 | "[-X File]" | 1235 | "[-X File]" |
1239 | #endif | 1236 | #endif |
1240 | "[-f tarFile] [FILE(s)] ...\n" | 1237 | "[-f tarFile] [FILE(s)] ..." |
1241 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1238 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1242 | "\nCreate, extract, or list files from a tar file.\n\n" | 1239 | "\n\nCreate, extract, or list files from a tar file.\n\n" |
1243 | "Main operation mode:\n" | 1240 | "Main operation mode:\n" |
1244 | #ifdef BB_FEATURE_TAR_CREATE | 1241 | #ifdef BB_FEATURE_TAR_CREATE |
1245 | "\tc\t\tcreate\n" | 1242 | "\tc\t\tcreate\n" |
@@ -1254,27 +1251,27 @@ const char tar_usage[] = | |||
1254 | "\tX\t\tfile with names to exclude\n" | 1251 | "\tX\t\tfile with names to exclude\n" |
1255 | #endif | 1252 | #endif |
1256 | "\nInformative output:\n" | 1253 | "\nInformative output:\n" |
1257 | "\tv\t\tverbosely list files processed\n" | 1254 | "\tv\t\tverbosely list files processed" |
1258 | #endif | 1255 | #endif |
1259 | ; | 1256 | ; |
1260 | #endif | 1257 | #endif |
1261 | 1258 | ||
1262 | #if defined BB_TEE | 1259 | #if defined BB_TEE |
1263 | const char tee_usage[] = | 1260 | const char tee_usage[] = |
1264 | "tee [OPTION]... [FILE]...\n" | 1261 | "tee [OPTION]... [FILE]..." |
1265 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1262 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1266 | "\nCopy standard input to each FILE, and also to standard output.\n\n" | 1263 | "\n\nCopy standard input to each FILE, and also to standard output.\n\n" |
1267 | "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite\n" | 1264 | "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite" |
1268 | #endif | 1265 | #endif |
1269 | ; | 1266 | ; |
1270 | #endif | 1267 | #endif |
1271 | 1268 | ||
1272 | #if defined BB_TELNET | 1269 | #if defined BB_TELNET |
1273 | const char telnet_usage[] = | 1270 | const char telnet_usage[] = |
1274 | "telnet host [port]\n" | 1271 | "telnet host [port]" |
1275 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1272 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1276 | "\nTelnet is used to establish interactive communication with another\n" | 1273 | "\n\nTelnet is used to establish interactive communication with another\n" |
1277 | "computer over a network using the TELNET protocol.\n" | 1274 | "computer over a network using the TELNET protocol." |
1278 | #endif | 1275 | #endif |
1279 | ; | 1276 | ; |
1280 | #endif | 1277 | #endif |
@@ -1282,76 +1279,76 @@ const char telnet_usage[] = | |||
1282 | #if defined BB_TEST | 1279 | #if defined BB_TEST |
1283 | const char test_usage[] = | 1280 | const char test_usage[] = |
1284 | "test EXPRESSION\n" | 1281 | "test EXPRESSION\n" |
1285 | "or [ EXPRESSION ]\n" | 1282 | "or [ EXPRESSION ]" |
1286 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1283 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1287 | "\nChecks file types and compares values returning an exit\n" | 1284 | "\n\nChecks file types and compares values returning an exit\n" |
1288 | "code determined by the value of EXPRESSION.\n" | 1285 | "code determined by the value of EXPRESSION." |
1289 | #endif | 1286 | #endif |
1290 | ; | 1287 | ; |
1291 | #endif | 1288 | #endif |
1292 | 1289 | ||
1293 | #if defined BB_TOUCH | 1290 | #if defined BB_TOUCH |
1294 | const char touch_usage[] = | 1291 | const char touch_usage[] = |
1295 | "touch [-c] file [file ...]\n" | 1292 | "touch [-c] file [file ...]" |
1296 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1293 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1297 | "\nUpdate the last-modified date on the given file[s].\n\n" | 1294 | "\n\nUpdate the last-modified date on the given file[s].\n\n" |
1298 | "Options:\n" | 1295 | "Options:\n" |
1299 | "\t-c\tDo not create any files\n" | 1296 | "\t-c\tDo not create any files" |
1300 | #endif | 1297 | #endif |
1301 | ; | 1298 | ; |
1302 | #endif | 1299 | #endif |
1303 | 1300 | ||
1304 | #if defined BB_TR | 1301 | #if defined BB_TR |
1305 | const char tr_usage[] = | 1302 | const char tr_usage[] = |
1306 | "tr [-cds] STRING1 [STRING2]\n" | 1303 | "tr [-cds] STRING1 [STRING2]" |
1307 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1304 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1308 | "\nTranslate, squeeze, and/or delete characters from\n" | 1305 | "\n\nTranslate, squeeze, and/or delete characters from\n" |
1309 | "standard input, writing to standard output.\n\n" | 1306 | "standard input, writing to standard output.\n\n" |
1310 | "Options:\n" | 1307 | "Options:\n" |
1311 | "\t-c\ttake complement of STRING1\n" | 1308 | "\t-c\ttake complement of STRING1\n" |
1312 | "\t-d\tdelete input characters coded STRING1\n" | 1309 | "\t-d\tdelete input characters coded STRING1\n" |
1313 | "\t-s\tsqueeze multiple output characters of STRING2 into one character\n" | 1310 | "\t-s\tsqueeze multiple output characters of STRING2 into one character" |
1314 | #endif | 1311 | #endif |
1315 | ; | 1312 | ; |
1316 | #endif | 1313 | #endif |
1317 | 1314 | ||
1318 | #if defined BB_TRUE_FALSE | 1315 | #if defined BB_TRUE_FALSE |
1319 | const char true_usage[] = | 1316 | const char true_usage[] = |
1320 | "true\n" | 1317 | "true" |
1321 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1318 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1322 | "\nReturn an exit code of TRUE (0).\n" | 1319 | "\n\nReturn an exit code of TRUE (0)." |
1323 | #endif | 1320 | #endif |
1324 | ; | 1321 | ; |
1325 | #endif | 1322 | #endif |
1326 | 1323 | ||
1327 | #if defined BB_TTY | 1324 | #if defined BB_TTY |
1328 | const char tty_usage[] = | 1325 | const char tty_usage[] = |
1329 | "tty\n" | 1326 | "tty" |
1330 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1327 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1331 | "\nPrint the file name of the terminal connected to standard input.\n\n" | 1328 | "\n\nPrint the file name of the terminal connected to standard input.\n\n" |
1332 | "Options:\n" | 1329 | "Options:\n" |
1333 | "\t-s\tprint nothing, only return an exit status\n" | 1330 | "\t-s\tprint nothing, only return an exit status" |
1334 | #endif | 1331 | #endif |
1335 | ; | 1332 | ; |
1336 | #endif | 1333 | #endif |
1337 | 1334 | ||
1338 | #if defined BB_UMOUNT | 1335 | #if defined BB_UMOUNT |
1339 | const char umount_usage[] = | 1336 | const char umount_usage[] = |
1340 | "umount [flags] filesystem|directory\n" | 1337 | "umount [flags] filesystem|directory" |
1341 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1338 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1342 | "Unmount file systems\n" | 1339 | "\nUnmount file systems\n" |
1343 | "\nFlags:\n" "\t-a:\tUnmount all file systems" | 1340 | "\nFlags:\n" "\t-a:\tUnmount all file systems" |
1344 | #ifdef BB_MTAB | 1341 | #ifdef BB_MTAB |
1345 | " in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n" | 1342 | " in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n" |
1346 | #else | 1343 | #else |
1347 | "\n" | 1344 | "\n" |
1348 | #endif | 1345 | #endif |
1349 | "\t-r:\tTry to remount devices as read-only if mount is busy\n" | 1346 | "\t-r:\tTry to remount devices as read-only if mount is busy" |
1350 | #if defined BB_FEATURE_MOUNT_FORCE | 1347 | #if defined BB_FEATURE_MOUNT_FORCE |
1351 | "\t-f:\tForce filesystem umount (i.e. unreachable NFS server)\n" | 1348 | "\n\t-f:\tForce filesystem umount (i.e. unreachable NFS server)" |
1352 | #endif | 1349 | #endif |
1353 | #if defined BB_FEATURE_MOUNT_LOOP | 1350 | #if defined BB_FEATURE_MOUNT_LOOP |
1354 | "\t-l:\tDo not free loop device (if a loop device has been used)\n" | 1351 | "\n\t-l:\tDo not free loop device (if a loop device has been used)" |
1355 | #endif | 1352 | #endif |
1356 | #endif | 1353 | #endif |
1357 | ; | 1354 | ; |
@@ -1359,9 +1356,9 @@ const char umount_usage[] = | |||
1359 | 1356 | ||
1360 | #if defined BB_UNAME | 1357 | #if defined BB_UNAME |
1361 | const char uname_usage[] = | 1358 | const char uname_usage[] = |
1362 | "uname [OPTION]...\n" | 1359 | "uname [OPTION]..." |
1363 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1360 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1364 | "\nPrint certain system information. With no OPTION, same as -s.\n\n" | 1361 | "\n\nPrint certain system information. With no OPTION, same as -s.\n\n" |
1365 | "Options:\n" | 1362 | "Options:\n" |
1366 | "\t-a\tprint all information\n" | 1363 | "\t-a\tprint all information\n" |
1367 | "\t-m\tthe machine (hardware) type\n" | 1364 | "\t-m\tthe machine (hardware) type\n" |
@@ -1370,145 +1367,145 @@ const char uname_usage[] = | |||
1370 | "\t-s\tprint the operating system name\n" | 1367 | "\t-s\tprint the operating system name\n" |
1371 | 1368 | ||
1372 | "\t-p\tprint the host processor type\n" | 1369 | "\t-p\tprint the host processor type\n" |
1373 | "\t-v\tprint the operating system version\n" | 1370 | "\t-v\tprint the operating system version" |
1374 | #endif | 1371 | #endif |
1375 | ; | 1372 | ; |
1376 | #endif | 1373 | #endif |
1377 | 1374 | ||
1378 | #if defined BB_UNIQ | 1375 | #if defined BB_UNIQ |
1379 | const char uniq_usage[] = | 1376 | const char uniq_usage[] = |
1380 | "uniq [OPTION]... [INPUT [OUTPUT]]\n" | 1377 | "uniq [OPTION]... [INPUT [OUTPUT]]" |
1381 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1378 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1382 | "\nDiscard all but one of successive identical lines from INPUT\n" | 1379 | "\n\nDiscard all but one of successive identical lines from INPUT\n" |
1383 | "(or standard input), writing to OUTPUT (or standard output).\n" | 1380 | "(or standard input), writing to OUTPUT (or standard output).\n" |
1384 | "Options:\n" | 1381 | "Options:\n" |
1385 | "\t-c\tprefix lines by the number of occurrences\n" | 1382 | "\t-c\tprefix lines by the number of occurrences\n" |
1386 | "\t-d\tonly print duplicate lines\n" | 1383 | "\t-d\tonly print duplicate lines\n" |
1387 | "\t-u\tonly print unique lines\n" | 1384 | "\t-u\tonly print unique lines" |
1388 | #endif | 1385 | #endif |
1389 | ; | 1386 | ; |
1390 | #endif | 1387 | #endif |
1391 | 1388 | ||
1392 | #if defined BB_UNIX2DOS | 1389 | #if defined BB_UNIX2DOS |
1393 | const char unix2dos_usage[] = | 1390 | const char unix2dos_usage[] = |
1394 | "unix2dos < unixfile > dosfile\n" | 1391 | "unix2dos < unixfile > dosfile" |
1395 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1392 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1396 | "\nConverts a text file from unix format to dos format.\n" | 1393 | "\n\nConverts a text file from unix format to dos format." |
1397 | #endif | 1394 | #endif |
1398 | ; | 1395 | ; |
1399 | #endif | 1396 | #endif |
1400 | 1397 | ||
1401 | #if defined BB_UPDATE | 1398 | #if defined BB_UPDATE |
1402 | const char update_usage[] = | 1399 | const char update_usage[] = |
1403 | "update [options]\n" | 1400 | "update [options]" |
1404 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1401 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1405 | "\nPeriodically flushes filesystem buffers.\n\n" | 1402 | "\n\nPeriodically flushes filesystem buffers.\n\n" |
1406 | "Options:\n" | 1403 | "Options:\n" |
1407 | "\t-S\tforce use of sync(2) instead of flushing\n" | 1404 | "\t-S\tforce use of sync(2) instead of flushing\n" |
1408 | "\t-s SECS\tcall sync this often (default 30)\n" | 1405 | "\t-s SECS\tcall sync this often (default 30)\n" |
1409 | "\t-f SECS\tflush some buffers this often (default 5)\n" | 1406 | "\t-f SECS\tflush some buffers this often (default 5)" |
1410 | #endif | 1407 | #endif |
1411 | ; | 1408 | ; |
1412 | #endif | 1409 | #endif |
1413 | 1410 | ||
1414 | #if defined BB_UPTIME | 1411 | #if defined BB_UPTIME |
1415 | const char uptime_usage[] = | 1412 | const char uptime_usage[] = |
1416 | "uptime\n" | 1413 | "uptime" |
1417 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1414 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1418 | "\nDisplay the time since the last boot.\n" | 1415 | "\n\nDisplay the time since the last boot." |
1419 | #endif | 1416 | #endif |
1420 | ; | 1417 | ; |
1421 | #endif | 1418 | #endif |
1422 | 1419 | ||
1423 | #if defined BB_USLEEP | 1420 | #if defined BB_USLEEP |
1424 | const char usleep_usage[] = | 1421 | const char usleep_usage[] = |
1425 | "usleep N\n" | 1422 | "usleep N" |
1426 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1423 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1427 | "\nPause for N microseconds.\n" | 1424 | "\n\nPause for N microseconds." |
1428 | #endif | 1425 | #endif |
1429 | ; | 1426 | ; |
1430 | #endif | 1427 | #endif |
1431 | 1428 | ||
1432 | #if defined BB_UUDECODE | 1429 | #if defined BB_UUDECODE |
1433 | const char uudecode_usage[] = | 1430 | const char uudecode_usage[] = |
1434 | "uudecode [FILE]...\n" | 1431 | "uudecode [FILE]..." |
1435 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1432 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1436 | "\nUudecode a file that is uuencoded.\n\n" | 1433 | "\n\nUudecode a file that is uuencoded.\n\n" |
1437 | "Options:\n" | 1434 | "Options:\n" |
1438 | "\t-o FILE\tdirect output to FILE\n" | 1435 | "\t-o FILE\tdirect output to FILE" |
1439 | #endif | 1436 | #endif |
1440 | ; | 1437 | ; |
1441 | #endif | 1438 | #endif |
1442 | 1439 | ||
1443 | #if defined BB_UUENCODE | 1440 | #if defined BB_UUENCODE |
1444 | const char uuencode_usage[] = | 1441 | const char uuencode_usage[] = |
1445 | "uuencode [OPTION] [INFILE] REMOTEFILE\n" | 1442 | "uuencode [OPTION] [INFILE] REMOTEFILE" |
1446 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1443 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1447 | "\nUuencode a file.\n\n" | 1444 | "\n\nUuencode a file.\n\n" |
1448 | "Options:\n" | 1445 | "Options:\n" |
1449 | "\t-m\tuse base64 encoding as of RFC1521\n" | 1446 | "\t-m\tuse base64 encoding as of RFC1521" |
1450 | #endif | 1447 | #endif |
1451 | ; | 1448 | ; |
1452 | #endif | 1449 | #endif |
1453 | 1450 | ||
1454 | #if defined BB_WC | 1451 | #if defined BB_WC |
1455 | const char wc_usage[] = | 1452 | const char wc_usage[] = |
1456 | "wc [OPTION]... [FILE]...\n" | 1453 | "wc [OPTION]... [FILE]..." |
1457 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1454 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1458 | "\nPrint line, word, and byte counts for each FILE, and a total line if\n" | 1455 | "\n\nPrint line, word, and byte counts for each FILE, and a total line if\n" |
1459 | "more than one FILE is specified. With no FILE, read standard input.\n\n" | 1456 | "more than one FILE is specified. With no FILE, read standard input.\n\n" |
1460 | "Options:\n" | 1457 | "Options:\n" |
1461 | "\t-c\tprint the byte counts\n" | 1458 | "\t-c\tprint the byte counts\n" |
1462 | "\t-l\tprint the newline counts\n" | 1459 | "\t-l\tprint the newline counts\n" |
1463 | 1460 | ||
1464 | "\t-L\tprint the length of the longest line\n" | 1461 | "\t-L\tprint the length of the longest line\n" |
1465 | "\t-w\tprint the word counts\n" | 1462 | "\t-w\tprint the word counts" |
1466 | #endif | 1463 | #endif |
1467 | ; | 1464 | ; |
1468 | #endif | 1465 | #endif |
1469 | 1466 | ||
1470 | #if defined BB_WGET | 1467 | #if defined BB_WGET |
1471 | const char wget_usage[] = "wget [-c] [-O file] url\n" | 1468 | const char wget_usage[] = "wget [-c] [-O file] url" |
1472 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1469 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1473 | "\nwget retrieves files via HTTP\n\n" | 1470 | "\n\nwget retrieves files via HTTP\n\n" |
1474 | "Options:\n" | 1471 | "Options:\n" |
1475 | "\t-c\tcontinue retrieval of aborted transfers\n" | 1472 | "\t-c\tcontinue retrieval of aborted transfers\n" |
1476 | "\t-O\tsave to filename ('-' for stdout)\n" | 1473 | "\t-O\tsave to filename ('-' for stdout)" |
1477 | #endif | 1474 | #endif |
1478 | ; | 1475 | ; |
1479 | #endif | 1476 | #endif |
1480 | 1477 | ||
1481 | #if defined BB_WHICH | 1478 | #if defined BB_WHICH |
1482 | const char which_usage[] = | 1479 | const char which_usage[] = |
1483 | "which [COMMAND ...]\n" | 1480 | "which [COMMAND ...]" |
1484 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1481 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1485 | "\nLocates a COMMAND.\n" | 1482 | "\n\nLocates a COMMAND." |
1486 | #endif | 1483 | #endif |
1487 | ; | 1484 | ; |
1488 | #endif | 1485 | #endif |
1489 | 1486 | ||
1490 | #if defined BB_WHOAMI | 1487 | #if defined BB_WHOAMI |
1491 | const char whoami_usage[] = | 1488 | const char whoami_usage[] = |
1492 | "whoami\n" | 1489 | "whoami" |
1493 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1490 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1494 | "\nPrints the user name associated with the current effective user id.\n" | 1491 | "\n\nPrints the user name associated with the current effective user id." |
1495 | #endif | 1492 | #endif |
1496 | ; | 1493 | ; |
1497 | #endif | 1494 | #endif |
1498 | 1495 | ||
1499 | #if defined BB_XARGS | 1496 | #if defined BB_XARGS |
1500 | const char xargs_usage[] = "xargs [COMMAND] [ARGS...]\n" | 1497 | const char xargs_usage[] = "xargs [COMMAND] [ARGS...]" |
1501 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1498 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1502 | "\nExecutes COMMAND on every item given by standard input.\n" | 1499 | "\n\nExecutes COMMAND on every item given by standard input." |
1503 | #endif | 1500 | #endif |
1504 | ; | 1501 | ; |
1505 | #endif | 1502 | #endif |
1506 | 1503 | ||
1507 | #if defined BB_YES | 1504 | #if defined BB_YES |
1508 | const char yes_usage[] = | 1505 | const char yes_usage[] = |
1509 | "yes [OPTION]... [STRING]...\n" | 1506 | "yes [OPTION]... [STRING]..." |
1510 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1507 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1511 | "\nRepeatedly outputs a line with all specified STRING(s), or `y'.\n" | 1508 | "\n\nRepeatedly outputs a line with all specified STRING(s), or `y'." |
1512 | #endif | 1509 | #endif |
1513 | ; | 1510 | ; |
1514 | #endif | 1511 | #endif |
@@ -2,102 +2,102 @@ | |||
2 | 2 | ||
3 | #if defined BB_AR | 3 | #if defined BB_AR |
4 | const char ar_usage[] = | 4 | const char ar_usage[] = |
5 | "ar -[ovR]{ptx} archive filenames \n" | 5 | "ar -[ovR]{ptx} archive filenames" |
6 | #ifndef BB_FEATURE_TRIVIAL_HELP | 6 | #ifndef BB_FEATURE_TRIVIAL_HELP |
7 | "\nExtract or list files from an ar archive.\n\n" | 7 | "\n\nExtract or list files from an ar archive.\n\n" |
8 | "Options:\n" | 8 | "Options:\n" |
9 | "\t-o\t\tpreserve original dates\n" | 9 | "\t-o\t\tpreserve original dates\n" |
10 | "\t-p\t\textract to stdout\n" | 10 | "\t-p\t\textract to stdout\n" |
11 | "\t-t\t\tlist\n" | 11 | "\t-t\t\tlist\n" |
12 | "\t-x\t\textract\n" | 12 | "\t-x\t\textract\n" |
13 | "\t-v\t\tverbosely list files processed\n" | 13 | "\t-v\t\tverbosely list files processed\n" |
14 | "\t-R\t\trecursive action\n" | 14 | "\t-R\t\trecursive action" |
15 | #endif | 15 | #endif |
16 | ; | 16 | ; |
17 | #endif | 17 | #endif |
18 | 18 | ||
19 | #if defined BB_BASENAME | 19 | #if defined BB_BASENAME |
20 | const char basename_usage[] = | 20 | const char basename_usage[] = |
21 | "basename FILE [SUFFIX]\n" | 21 | "basename FILE [SUFFIX]" |
22 | #ifndef BB_FEATURE_TRIVIAL_HELP | 22 | #ifndef BB_FEATURE_TRIVIAL_HELP |
23 | "\nStrips directory path and suffixes from FILE.\n" | 23 | "\n\nStrips directory path and suffixes from FILE.\n" |
24 | "If specified, also removes any trailing SUFFIX.\n" | 24 | "If specified, also removes any trailing SUFFIX." |
25 | #endif | 25 | #endif |
26 | ; | 26 | ; |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | #if defined BB_CAT | 29 | #if defined BB_CAT |
30 | const char cat_usage[] = | 30 | const char cat_usage[] = |
31 | "cat [FILE]...\n" | 31 | "cat [FILE]..." |
32 | #ifndef BB_FEATURE_TRIVIAL_HELP | 32 | #ifndef BB_FEATURE_TRIVIAL_HELP |
33 | "\nConcatenates FILE(s) and prints them to stdout.\n" | 33 | "\n\nConcatenates FILE(s) and prints them to stdout." |
34 | #endif | 34 | #endif |
35 | ; | 35 | ; |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #if defined BB_CHMOD_CHOWN_CHGRP | 38 | #if defined BB_CHMOD_CHOWN_CHGRP |
39 | const char chgrp_usage[] = | 39 | const char chgrp_usage[] = |
40 | "chgrp [OPTION]... GROUP FILE...\n" | 40 | "chgrp [OPTION]... GROUP FILE..." |
41 | #ifndef BB_FEATURE_TRIVIAL_HELP | 41 | #ifndef BB_FEATURE_TRIVIAL_HELP |
42 | "\nChange the group membership of each FILE to GROUP.\n" | 42 | "\n\nChange the group membership of each FILE to GROUP.\n" |
43 | "\nOptions:\n\t-R\tChanges files and directories recursively.\n" | 43 | "\nOptions:\n\t-R\tChanges files and directories recursively." |
44 | #endif | 44 | #endif |
45 | ; | 45 | ; |
46 | #endif | 46 | #endif |
47 | 47 | ||
48 | #if defined BB_CHMOD_CHOWN_CHGRP | 48 | #if defined BB_CHMOD_CHOWN_CHGRP |
49 | const char chmod_usage[] = | 49 | const char chmod_usage[] = |
50 | "chmod [-R] MODE[,MODE]... FILE...\n" | 50 | "chmod [-R] MODE[,MODE]... FILE..." |
51 | #ifndef BB_FEATURE_TRIVIAL_HELP | 51 | #ifndef BB_FEATURE_TRIVIAL_HELP |
52 | "\nEach MODE is one or more of the letters ugoa, one of the symbols +-= and\n" | 52 | "\n\nEach MODE is one or more of the letters ugoa, one of the symbols +-= and\n" |
53 | "one or more of the letters rwxst.\n\n" | 53 | "one or more of the letters rwxst.\n\n" |
54 | "\nOptions:\n\t-R\tChanges files and directories recursively.\n" | 54 | "\nOptions:\n\t-R\tChanges files and directories recursively." |
55 | #endif | 55 | #endif |
56 | ; | 56 | ; |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | #if defined BB_CHMOD_CHOWN_CHGRP | 59 | #if defined BB_CHMOD_CHOWN_CHGRP |
60 | const char chown_usage[] = | 60 | const char chown_usage[] = |
61 | "chown [OPTION]... OWNER[<.|:>[GROUP] FILE...\n" | 61 | "chown [OPTION]... OWNER[<.|:>[GROUP] FILE..." |
62 | #ifndef BB_FEATURE_TRIVIAL_HELP | 62 | #ifndef BB_FEATURE_TRIVIAL_HELP |
63 | "\nChange the owner and/or group of each FILE to OWNER and/or GROUP.\n" | 63 | "\n\nChange the owner and/or group of each FILE to OWNER and/or GROUP.\n" |
64 | "\nOptions:\n\t-R\tChanges files and directories recursively.\n" | 64 | "\nOptions:\n\t-R\tChanges files and directories recursively." |
65 | #endif | 65 | #endif |
66 | ; | 66 | ; |
67 | #endif | 67 | #endif |
68 | 68 | ||
69 | #if defined BB_CHROOT | 69 | #if defined BB_CHROOT |
70 | const char chroot_usage[] = | 70 | const char chroot_usage[] = |
71 | "chroot NEWROOT [COMMAND...]\n" | 71 | "chroot NEWROOT [COMMAND...]" |
72 | #ifndef BB_FEATURE_TRIVIAL_HELP | 72 | #ifndef BB_FEATURE_TRIVIAL_HELP |
73 | "\nRun COMMAND with root directory set to NEWROOT.\n" | 73 | "\n\nRun COMMAND with root directory set to NEWROOT." |
74 | #endif | 74 | #endif |
75 | ; | 75 | ; |
76 | #endif | 76 | #endif |
77 | 77 | ||
78 | #if defined BB_CHVT | 78 | #if defined BB_CHVT |
79 | const char chvt_usage[] = | 79 | const char chvt_usage[] = |
80 | "chvt N\n" | 80 | "chvt N" |
81 | #ifndef BB_FEATURE_TRIVIAL_HELP | 81 | #ifndef BB_FEATURE_TRIVIAL_HELP |
82 | "\nChanges the foreground virtual terminal to /dev/ttyN\n" | 82 | "\n\nChanges the foreground virtual terminal to /dev/ttyN" |
83 | #endif | 83 | #endif |
84 | ; | 84 | ; |
85 | #endif | 85 | #endif |
86 | 86 | ||
87 | #if defined BB_CLEAR | 87 | #if defined BB_CLEAR |
88 | const char clear_usage[] = | 88 | const char clear_usage[] = |
89 | "clear\n" | 89 | "clear" |
90 | #ifndef BB_FEATURE_TRIVIAL_HELP | 90 | #ifndef BB_FEATURE_TRIVIAL_HELP |
91 | "\nClear screen.\n" | 91 | "\n\nClear screen." |
92 | #endif | 92 | #endif |
93 | ; | 93 | ; |
94 | #endif | 94 | #endif |
95 | 95 | ||
96 | #if defined BB_CMP | 96 | #if defined BB_CMP |
97 | const char cmp_usage[] = | 97 | const char cmp_usage[] = |
98 | "cmp FILE1 [FILE2]\n" | 98 | "cmp FILE1 [FILE2]" |
99 | #ifndef BB_FEATURE_TRIVIAL_HELP | 99 | #ifndef BB_FEATURE_TRIVIAL_HELP |
100 | "\nCompare files.\n" | 100 | "\n\nCompare files." |
101 | #endif | 101 | #endif |
102 | ; | 102 | ; |
103 | #endif | 103 | #endif |
@@ -105,31 +105,31 @@ const char cmp_usage[] = | |||
105 | #if defined BB_CP_MV | 105 | #if defined BB_CP_MV |
106 | const char cp_usage[] = | 106 | const char cp_usage[] = |
107 | "cp [OPTION]... SOURCE DEST\n" | 107 | "cp [OPTION]... SOURCE DEST\n" |
108 | " or: cp [OPTION]... SOURCE... DIRECTORY\n" | 108 | " or: cp [OPTION]... SOURCE... DIRECTORY" |
109 | #ifndef BB_FEATURE_TRIVIAL_HELP | 109 | #ifndef BB_FEATURE_TRIVIAL_HELP |
110 | "\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" | 110 | "\n\nCopies SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n" |
111 | "\n" | 111 | "\n" |
112 | "\t-a\tSame as -dpR\n" | 112 | "\t-a\tSame as -dpR\n" |
113 | "\t-d\tPreserves links\n" | 113 | "\t-d\tPreserves links\n" |
114 | "\t-p\tPreserves file attributes if possible\n" | 114 | "\t-p\tPreserves file attributes if possible\n" |
115 | "\t-f\tforce (implied; ignored) - always set\n" | 115 | "\t-f\tforce (implied; ignored) - always set\n" |
116 | "\t-R\tCopies directories recursively\n" | 116 | "\t-R\tCopies directories recursively" |
117 | #endif | 117 | #endif |
118 | ; | 118 | ; |
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | #if defined BB_CUT | 121 | #if defined BB_CUT |
122 | const char cut_usage[] = | 122 | const char cut_usage[] = |
123 | "cut [OPTION]... [FILE]...\n" | 123 | "cut [OPTION]... [FILE]..." |
124 | #ifndef BB_FEATURE_TRIVIAL_HELP | 124 | #ifndef BB_FEATURE_TRIVIAL_HELP |
125 | "\nPrints selected fields from each input FILE to standard output.\n\n" | 125 | "\n\nPrints selected fields from each input FILE to standard output.\n\n" |
126 | "Options:\n" | 126 | "Options:\n" |
127 | "\t-b LIST\tOutput only bytes from LIST\n" | 127 | "\t-b LIST\tOutput only bytes from LIST\n" |
128 | "\t-c LIST\tOutput only characters from LIST\n" | 128 | "\t-c LIST\tOutput only characters from LIST\n" |
129 | "\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n" | 129 | "\t-d CHAR\tUse CHAR instead of tab as the field delimiter\n" |
130 | "\t-s\tOutput only the lines containing delimiter\n" | 130 | "\t-s\tOutput only the lines containing delimiter\n" |
131 | "\t-f N\tPrint only these fields\n" | 131 | "\t-f N\tPrint only these fields\n" |
132 | "\t-n\tIgnored\n" | 132 | "\t-n\tIgnored" |
133 | #endif | 133 | #endif |
134 | ; | 134 | ; |
135 | #endif | 135 | #endif |
@@ -137,33 +137,33 @@ const char cut_usage[] = | |||
137 | #if defined BB_DATE | 137 | #if defined BB_DATE |
138 | const char date_usage[] = | 138 | const char date_usage[] = |
139 | "date [OPTION]... [+FORMAT]\n" | 139 | "date [OPTION]... [+FORMAT]\n" |
140 | " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]\n" | 140 | " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]" |
141 | #ifndef BB_FEATURE_TRIVIAL_HELP | 141 | #ifndef BB_FEATURE_TRIVIAL_HELP |
142 | "\nDisplays the current time in the given FORMAT, or sets the system date.\n" | 142 | "\n\nDisplays the current time in the given FORMAT, or sets the system date.\n" |
143 | "\nOptions:\n\t-R\t\tOutputs RFC-822 compliant date string\n" | 143 | "\nOptions:\n\t-R\t\tOutputs RFC-822 compliant date string\n" |
144 | "\t-d STRING\tdisplay time described by STRING, not `now'\n" | 144 | "\t-d STRING\tdisplay time described by STRING, not `now'\n" |
145 | "\t-s\t\tSets time described by STRING\n" | 145 | "\t-s\t\tSets time described by STRING\n" |
146 | "\t-u\t\tPrints or sets Coordinated Universal Time\n" | 146 | "\t-u\t\tPrints or sets Coordinated Universal Time" |
147 | #endif | 147 | #endif |
148 | ; | 148 | ; |
149 | #endif | 149 | #endif |
150 | 150 | ||
151 | #if defined BB_DC | 151 | #if defined BB_DC |
152 | const char dc_usage[] = | 152 | const char dc_usage[] = |
153 | "dc expression ...\n" | 153 | "dc expression ..." |
154 | #ifndef BB_FEATURE_TRIVIAL_HELP | 154 | #ifndef BB_FEATURE_TRIVIAL_HELP |
155 | "\nThis is a Tiny RPN calculator that understands the\n" | 155 | "\n\nThis is a Tiny RPN calculator that understands the\n" |
156 | "following operations: +, -, /, *, and, or, not, eor.\n" | 156 | "following operations: +, -, /, *, and, or, not, eor.\n" |
157 | "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16\n" | 157 | "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16" |
158 | #endif | 158 | #endif |
159 | ; | 159 | ; |
160 | #endif | 160 | #endif |
161 | 161 | ||
162 | #if defined BB_DD | 162 | #if defined BB_DD |
163 | const char dd_usage[] = | 163 | const char dd_usage[] = |
164 | "dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|sync]\n" | 164 | "dd [if=FILE] [of=FILE] [bs=N] [count=N] [skip=N] [seek=N] [conv=notrunc|sync]" |
165 | #ifndef BB_FEATURE_TRIVIAL_HELP | 165 | #ifndef BB_FEATURE_TRIVIAL_HELP |
166 | "\nCopy a file, converting and formatting according to options\n\n" | 166 | "\n\nCopy a file, converting and formatting according to options\n\n" |
167 | "\tif=FILE\tread from FILE instead of stdin\n" | 167 | "\tif=FILE\tread from FILE instead of stdin\n" |
168 | "\tof=FILE\twrite to FILE instead of stdout\n" | 168 | "\tof=FILE\twrite to FILE instead of stdout\n" |
169 | "\tbs=N\tread and write N bytes at a time\n" | 169 | "\tbs=N\tread and write N bytes at a time\n" |
@@ -174,56 +174,56 @@ const char dd_usage[] = | |||
174 | "\tconv=sync\tpad blocks with zeros\n" | 174 | "\tconv=sync\tpad blocks with zeros\n" |
175 | "\n" | 175 | "\n" |
176 | "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" | 176 | "Numbers may be suffixed by c (x1), w (x2), b (x512), kD (x1000), k (x1024),\n" |
177 | "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824).\n" | 177 | "MD (x1000000), M (x1048576), GD (x1000000000) or G (x1073741824)." |
178 | #endif | 178 | #endif |
179 | ; | 179 | ; |
180 | #endif | 180 | #endif |
181 | 181 | ||
182 | #if defined BB_DEALLOCVT | 182 | #if defined BB_DEALLOCVT |
183 | const char deallocvt_usage[] = | 183 | const char deallocvt_usage[] = |
184 | "deallocvt N\n" | 184 | "deallocvt N" |
185 | #ifndef BB_FEATURE_TRIVIAL_HELP | 185 | #ifndef BB_FEATURE_TRIVIAL_HELP |
186 | "\nDeallocate unused virtual terminal /dev/ttyN\n" | 186 | "\n\nDeallocate unused virtual terminal /dev/ttyN" |
187 | #endif | 187 | #endif |
188 | ; | 188 | ; |
189 | #endif | 189 | #endif |
190 | 190 | ||
191 | #if defined BB_DF | 191 | #if defined BB_DF |
192 | const char df_usage[] = | 192 | const char df_usage[] = |
193 | "df [filesystem ...]\n" | 193 | "df [filesystem ...]" |
194 | #ifndef BB_FEATURE_TRIVIAL_HELP | 194 | #ifndef BB_FEATURE_TRIVIAL_HELP |
195 | "\nPrint the filesystem space used and space available.\n" | 195 | "\n\nPrint the filesystem space used and space available." |
196 | #endif | 196 | #endif |
197 | ; | 197 | ; |
198 | #endif | 198 | #endif |
199 | 199 | ||
200 | #if defined BB_DIRNAME | 200 | #if defined BB_DIRNAME |
201 | const char dirname_usage[] = | 201 | const char dirname_usage[] = |
202 | "dirname [FILENAME ...]\n" | 202 | "dirname [FILENAME ...]" |
203 | #ifndef BB_FEATURE_TRIVIAL_HELP | 203 | #ifndef BB_FEATURE_TRIVIAL_HELP |
204 | "\nStrips non-directory suffix from FILENAME\n" | 204 | "\n\nStrips non-directory suffix from FILENAME" |
205 | #endif | 205 | #endif |
206 | ; | 206 | ; |
207 | #endif | 207 | #endif |
208 | 208 | ||
209 | #if defined BB_DMESG | 209 | #if defined BB_DMESG |
210 | const char dmesg_usage[] = | 210 | const char dmesg_usage[] = |
211 | "dmesg [-c] [-n LEVEL] [-s SIZE]\n" | 211 | "dmesg [-c] [-n LEVEL] [-s SIZE]" |
212 | #ifndef BB_FEATURE_TRIVIAL_HELP | 212 | #ifndef BB_FEATURE_TRIVIAL_HELP |
213 | "\nPrints or controls the kernel ring buffer\n\n" | 213 | "\n\nPrints or controls the kernel ring buffer\n\n" |
214 | "Options:\n" | 214 | "Options:\n" |
215 | "\t-c\t\tClears the ring buffer's contents after printing\n" | 215 | "\t-c\t\tClears the ring buffer's contents after printing\n" |
216 | "\t-n LEVEL\tSets console logging level\n" | 216 | "\t-n LEVEL\tSets console logging level\n" |
217 | "\t-s SIZE\t\tUse a buffer of size SIZE\n" | 217 | "\t-s SIZE\t\tUse a buffer of size SIZE" |
218 | #endif | 218 | #endif |
219 | ; | 219 | ; |
220 | #endif | 220 | #endif |
221 | 221 | ||
222 | #if defined BB_DOS2UNIX | 222 | #if defined BB_DOS2UNIX |
223 | const char dos2unix_usage[] = | 223 | const char dos2unix_usage[] = |
224 | "dos2unix < dosfile > unixfile\n" | 224 | "dos2unix < dosfile > unixfile" |
225 | #ifndef BB_FEATURE_TRIVIAL_HELP | 225 | #ifndef BB_FEATURE_TRIVIAL_HELP |
226 | "\nConverts a text file from dos format to unix format.\n" | 226 | "\n\nConverts a text file from dos format to unix format." |
227 | #endif | 227 | #endif |
228 | ; | 228 | ; |
229 | #endif | 229 | #endif |
@@ -232,93 +232,93 @@ const char dos2unix_usage[] = | |||
232 | const char dpkg_deb_usage[] = | 232 | const char dpkg_deb_usage[] = |
233 | "dpkg-deb [-cexX] file directory" | 233 | "dpkg-deb [-cexX] file directory" |
234 | #ifndef BB_FEATURE_TRIVIAL_HELP | 234 | #ifndef BB_FEATURE_TRIVIAL_HELP |
235 | "Perform actions on debian packages (.debs)\n" | 235 | "\n\nPerform actions on debian packages (.debs)\n\n" |
236 | "Options:\n" | 236 | "Options:\n" |
237 | "\t-c\tList contents of filesystem tree\n" | 237 | "\t-c\tList contents of filesystem tree\n" |
238 | "\t-e\tExtract control files to directory\n" | 238 | "\t-e\tExtract control files to directory\n" |
239 | "\t-x\tExctract packages filesystem tree to directory\n" | 239 | "\t-x\tExctract packages filesystem tree to directory\n" |
240 | "\t-X\tVerbose extract\n" | 240 | "\t-X\tVerbose extract" |
241 | #endif | 241 | #endif |
242 | ; | 242 | ; |
243 | #endif | 243 | #endif |
244 | 244 | ||
245 | #if defined BB_DU | 245 | #if defined BB_DU |
246 | const char du_usage[] = | 246 | const char du_usage[] = |
247 | "du [OPTION]... [FILE]...\n" | 247 | "du [OPTION]... [FILE]..." |
248 | #ifndef BB_FEATURE_TRIVIAL_HELP | 248 | #ifndef BB_FEATURE_TRIVIAL_HELP |
249 | "\nSummarizes disk space used for each FILE and/or directory.\n" | 249 | "\n\nSummarizes disk space used for each FILE and/or directory.\n" |
250 | "Disk space is printed in units of 1024 bytes.\n\n" | 250 | "Disk space is printed in units of 1024 bytes.\n\n" |
251 | "Options:\n" | 251 | "Options:\n" |
252 | "\t-l\tcount sizes many times if hard linked\n" | 252 | "\t-l\tcount sizes many times if hard linked\n" |
253 | "\t-s\tdisplay only a total for each argument\n" | 253 | "\t-s\tdisplay only a total for each argument" |
254 | #endif | 254 | #endif |
255 | ; | 255 | ; |
256 | #endif | 256 | #endif |
257 | 257 | ||
258 | #if defined BB_DUMPKMAP | 258 | #if defined BB_DUMPKMAP |
259 | const char dumpkmap_usage[] = | 259 | const char dumpkmap_usage[] = |
260 | "dumpkmap > keymap\n" | 260 | "dumpkmap > keymap" |
261 | #ifndef BB_FEATURE_TRIVIAL_HELP | 261 | #ifndef BB_FEATURE_TRIVIAL_HELP |
262 | "\nPrints out a binary keyboard translation table to standard input.\n" | 262 | "\n\nPrints out a binary keyboard translation table to standard input." |
263 | #endif | 263 | #endif |
264 | ; | 264 | ; |
265 | #endif | 265 | #endif |
266 | 266 | ||
267 | #if defined BB_DUTMP | 267 | #if defined BB_DUTMP |
268 | const char dutmp_usage[] = | 268 | const char dutmp_usage[] = |
269 | "dutmp [FILE]\n" | 269 | "dutmp [FILE]" |
270 | #ifndef BB_FEATURE_TRIVIAL_HELP | 270 | #ifndef BB_FEATURE_TRIVIAL_HELP |
271 | "\nDump utmp file format (pipe delimited) from FILE\n" | 271 | "\n\nDump utmp file format (pipe delimited) from FILE\n" |
272 | "or stdin to stdout. (i.e. 'dutmp /var/run/utmp')\n" | 272 | "or stdin to stdout. (i.e. 'dutmp /var/run/utmp')" |
273 | #endif | 273 | #endif |
274 | ; | 274 | ; |
275 | #endif | 275 | #endif |
276 | 276 | ||
277 | #if defined BB_ECHO | 277 | #if defined BB_ECHO |
278 | const char echo_usage[] = | 278 | const char echo_usage[] = |
279 | "echo [-neE] [ARG ...]\n" | 279 | "echo [-neE] [ARG ...]" |
280 | #ifndef BB_FEATURE_TRIVIAL_HELP | 280 | #ifndef BB_FEATURE_TRIVIAL_HELP |
281 | "\nPrints the specified ARGs to stdout\n\n" | 281 | "\n\nPrints the specified ARGs to stdout\n\n" |
282 | "Options:\n" | 282 | "Options:\n" |
283 | "\t-n\tsuppress trailing newline\n" | 283 | "\t-n\tsuppress trailing newline\n" |
284 | "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n" | 284 | "\t-e\tinterpret backslash-escaped characters (i.e. \\t=tab etc)\n" |
285 | "\t-E\tdisable interpretation of backslash-escaped characters\n" | 285 | "\t-E\tdisable interpretation of backslash-escaped characters" |
286 | #endif | 286 | #endif |
287 | ; | 287 | ; |
288 | #endif | 288 | #endif |
289 | 289 | ||
290 | #if defined BB_EXPR | 290 | #if defined BB_EXPR |
291 | const char expr_usage[] = | 291 | const char expr_usage[] = |
292 | "expr EXPRESSION\n" | 292 | "expr EXPRESSION" |
293 | #ifndef BB_FEATURE_TRIVIAL_HELP | 293 | #ifndef BB_FEATURE_TRIVIAL_HELP |
294 | "\nPrints the value of EXPRESSION to standard output.\n\n" | 294 | "\n\nPrints the value of EXPRESSION to standard output.\n\n" |
295 | "EXPRESSION may be:\n" | 295 | "EXPRESSION may be:\n" |
296 | "ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" | 296 | "ARG1 | ARG2 ARG1 if it is neither null nor 0, otherwise ARG2\n" |
297 | "ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" | 297 | "ARG1 & ARG2 ARG1 if neither argument is null or 0, otherwise 0\n" |
298 | "ARG1 < ARG2 ARG1 is less than ARG2\n" | 298 | "ARG1 < ARG2 ARG1 is less than ARG2\n" |
299 | "ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" | 299 | "ARG1 <= ARG2 ARG1 is less than or equal to ARG2\n" |
300 | "ARG1 = ARG2 ARG1 is equal to ARG2\n" | 300 | "ARG1 = ARG2 ARG1 is equal to ARG2\n" |
301 | "ARG1 != ARG2 ARG1 is unequal to ARG2\n" | 301 | "ARG1 != ARG2 ARG1 is unequal to ARG2\n" |
302 | "ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" | 302 | "ARG1 >= ARG2 ARG1 is greater than or equal to ARG2\n" |
303 | "ARG1 > ARG2 ARG1 is greater than ARG2\n" | 303 | "ARG1 > ARG2 ARG1 is greater than ARG2\n" |
304 | "ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" | 304 | "ARG1 + ARG2 arithmetic sum of ARG1 and ARG2\n" |
305 | "ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" | 305 | "ARG1 - ARG2 arithmetic difference of ARG1 and ARG2\n" |
306 | "ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" | 306 | "ARG1 * ARG2 arithmetic product of ARG1 and ARG2\n" |
307 | "ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" | 307 | "ARG1 / ARG2 arithmetic quotient of ARG1 divided by ARG2\n" |
308 | "ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" | 308 | "ARG1 % ARG2 arithmetic remainder of ARG1 divided by ARG2\n" |
309 | "STRING : REGEXP anchored pattern match of REGEXP in STRING\n" | 309 | "STRING : REGEXP anchored pattern match of REGEXP in STRING\n" |
310 | "match STRING REGEXP same as STRING : REGEXP\n" | 310 | "match STRING REGEXP same as STRING : REGEXP\n" |
311 | "substr STRING POS LENGTH substring of STRING, POS counted from 1\n" | 311 | "substr STRING POS LENGTH substring of STRING, POS counted from 1\n" |
312 | "index STRING CHARS index in STRING where any CHARS is found, or 0\n" | 312 | "index STRING CHARS index in STRING where any CHARS is found, or 0\n" |
313 | "length STRING length of STRING\n" | 313 | "length STRING length of STRING\n" |
314 | "quote TOKEN interpret TOKEN as a string, even if it is a \n" | 314 | "quote TOKEN interpret TOKEN as a string, even if it is a \n" |
315 | " keyword like `match' or an operator like `/'\n" | 315 | " keyword like `match' or an operator like `/'\n" |
316 | "( EXPRESSION ) value of EXPRESSION\n\n" | 316 | "( EXPRESSION ) value of EXPRESSION\n\n" |
317 | "Beware that many operators need to be escaped or quoted for shells.\n" | 317 | "Beware that many operators need to be escaped or quoted for shells.\n" |
318 | "Comparisons are arithmetic if both ARGs are numbers, else\n" | 318 | "Comparisons are arithmetic if both ARGs are numbers, else\n" |
319 | "lexicographical. Pattern matches return the string matched between \n" | 319 | "lexicographical. Pattern matches return the string matched between \n" |
320 | "\\( and \\) or null; if \\( and \\) are not used, they return the number \n" | 320 | "\\( and \\) or null; if \\( and \\) are not used, they return the number \n" |
321 | "of characters matched or 0.\n" | 321 | "of characters matched or 0." |
322 | 322 | ||
323 | #endif | 323 | #endif |
324 | ; | 324 | ; |
@@ -327,59 +327,59 @@ const char expr_usage[] = | |||
327 | 327 | ||
328 | #if defined BB_TRUE_FALSE | 328 | #if defined BB_TRUE_FALSE |
329 | const char false_usage[] = | 329 | const char false_usage[] = |
330 | "false\n" | 330 | "false" |
331 | #ifndef BB_FEATURE_TRIVIAL_HELP | 331 | #ifndef BB_FEATURE_TRIVIAL_HELP |
332 | "\nReturn an exit code of FALSE (1).\n" | 332 | "\n\nReturn an exit code of FALSE (1)." |
333 | #endif | 333 | #endif |
334 | ; | 334 | ; |
335 | #endif | 335 | #endif |
336 | 336 | ||
337 | #if defined BB_FDFLUSH | 337 | #if defined BB_FDFLUSH |
338 | const char fdflush_usage[] = | 338 | const char fdflush_usage[] = |
339 | "fdflush DEVICE\n" | 339 | "fdflush DEVICE" |
340 | #ifndef BB_FEATURE_TRIVIAL_HELP | 340 | #ifndef BB_FEATURE_TRIVIAL_HELP |
341 | "\nForces floppy disk drive to detect disk change\n" | 341 | "\n\nForces floppy disk drive to detect disk change" |
342 | #endif | 342 | #endif |
343 | ; | 343 | ; |
344 | #endif | 344 | #endif |
345 | 345 | ||
346 | #if defined BB_FIND | 346 | #if defined BB_FIND |
347 | const char find_usage[] = | 347 | const char find_usage[] = |
348 | "find [PATH...] [EXPRESSION]\n" | 348 | "find [PATH...] [EXPRESSION]" |
349 | #ifndef BB_FEATURE_TRIVIAL_HELP | 349 | #ifndef BB_FEATURE_TRIVIAL_HELP |
350 | "\nSearch for files in a directory hierarchy. The default PATH is\n" | 350 | "\n\nSearch for files in a directory hierarchy. The default PATH is\n" |
351 | "the current directory; default EXPRESSION is '-print'\n\n" | 351 | "the current directory; default EXPRESSION is '-print'\n\n" |
352 | "\nEXPRESSION may consist of:\n" | 352 | "\nEXPRESSION may consist of:\n" |
353 | "\t-follow\t\tDereference symbolic links.\n" | 353 | "\t-follow\t\tDereference symbolic links.\n" |
354 | "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN.\n" | 354 | "\t-name PATTERN\tFile name (leading directories removed) matches PATTERN.\n" |
355 | "\t-print\t\tprint the full file name followed by a newline to stdout.\n" | 355 | "\t-print\t\tprint the full file name followed by a newline to stdout." |
356 | #endif | 356 | #endif |
357 | ; | 357 | ; |
358 | #endif | 358 | #endif |
359 | 359 | ||
360 | #if defined BB_FREE | 360 | #if defined BB_FREE |
361 | const char free_usage[] = | 361 | const char free_usage[] = |
362 | "free\n" | 362 | "free" |
363 | #ifndef BB_FEATURE_TRIVIAL_HELP | 363 | #ifndef BB_FEATURE_TRIVIAL_HELP |
364 | "\nDisplays the amount of free and used system memory\n" | 364 | "\n\nDisplays the amount of free and used system memory" |
365 | #endif | 365 | #endif |
366 | ; | 366 | ; |
367 | #endif | 367 | #endif |
368 | 368 | ||
369 | #if defined BB_FREERAMDISK | 369 | #if defined BB_FREERAMDISK |
370 | const char freeramdisk_usage[] = | 370 | const char freeramdisk_usage[] = |
371 | "freeramdisk DEVICE\n" | 371 | "freeramdisk DEVICE" |
372 | #ifndef BB_FEATURE_TRIVIAL_HELP | 372 | #ifndef BB_FEATURE_TRIVIAL_HELP |
373 | "\nFrees all memory used by the specified ramdisk.\n" | 373 | "\n\nFrees all memory used by the specified ramdisk." |
374 | #endif | 374 | #endif |
375 | ; | 375 | ; |
376 | #endif | 376 | #endif |
377 | 377 | ||
378 | #if defined BB_FSCK_MINIX | 378 | #if defined BB_FSCK_MINIX |
379 | const char fsck_minix_usage[] = | 379 | const char fsck_minix_usage[] = |
380 | "Usage: fsck.minix [-larvsmf] /dev/name\n" | 380 | "Usage: fsck.minix [-larvsmf] /dev/name" |
381 | #ifndef BB_FEATURE_TRIVIAL_HELP | 381 | #ifndef BB_FEATURE_TRIVIAL_HELP |
382 | "\nPerforms a consistency check for MINIX filesystems.\n\n" | 382 | "\n\nPerforms a consistency check for MINIX filesystems.\n\n" |
383 | "Options:\n" | 383 | "Options:\n" |
384 | "\t-l\tLists all filenames\n" | 384 | "\t-l\tLists all filenames\n" |
385 | "\t-r\tPerform interactive repairs\n" | 385 | "\t-r\tPerform interactive repairs\n" |
@@ -387,16 +387,16 @@ const char fsck_minix_usage[] = | |||
387 | "\t-v\tverbose\n" | 387 | "\t-v\tverbose\n" |
388 | "\t-s\tOutputs super-block information\n" | 388 | "\t-s\tOutputs super-block information\n" |
389 | "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n" | 389 | "\t-m\tActivates MINIX-like \"mode not cleared\" warnings\n" |
390 | "\t-f\tForce file system check.\n\n" | 390 | "\t-f\tForce file system check." |
391 | #endif | 391 | #endif |
392 | ; | 392 | ; |
393 | #endif | 393 | #endif |
394 | 394 | ||
395 | #if defined BB_GETOPT | 395 | #if defined BB_GETOPT |
396 | const char getopt_usage[] = | 396 | const char getopt_usage[] = |
397 | "getopt [OPTIONS]...\n" | 397 | "getopt [OPTIONS]..." |
398 | #ifndef BB_FEATURE_TRIVIAL_HELP | 398 | #ifndef BB_FEATURE_TRIVIAL_HELP |
399 | "Parse command options\n" | 399 | "\nParse command options\n" |
400 | " -a, --alternative Allow long options starting with single -\n" | 400 | " -a, --alternative Allow long options starting with single -\n" |
401 | " -l, --longoptions=longopts Long options to be recognized\n" | 401 | " -l, --longoptions=longopts Long options to be recognized\n" |
402 | " -n, --name=progname The name under which errors are reported\n" | 402 | " -n, --name=progname The name under which errors are reported\n" |
@@ -405,16 +405,16 @@ const char getopt_usage[] = | |||
405 | " -Q, --quiet-output No normal output\n" | 405 | " -Q, --quiet-output No normal output\n" |
406 | " -s, --shell=shell Set shell quoting conventions\n" | 406 | " -s, --shell=shell Set shell quoting conventions\n" |
407 | " -T, --test Test for getopt(1) version\n" | 407 | " -T, --test Test for getopt(1) version\n" |
408 | " -u, --unqote Do not quote the output\n" | 408 | " -u, --unqote Do not quote the output" |
409 | #endif | 409 | #endif |
410 | ; | 410 | ; |
411 | #endif | 411 | #endif |
412 | 412 | ||
413 | #if defined BB_GREP | 413 | #if defined BB_GREP |
414 | const char grep_usage[] = | 414 | const char grep_usage[] = |
415 | "grep [-ihHnqvs] pattern [files...]\n" | 415 | "grep [-ihHnqvs] pattern [files...]" |
416 | #ifndef BB_FEATURE_TRIVIAL_HELP | 416 | #ifndef BB_FEATURE_TRIVIAL_HELP |
417 | "\nSearch for PATTERN in each FILE or standard input.\n\n" | 417 | "\n\nSearch for PATTERN in each FILE or standard input.\n\n" |
418 | "Options:\n" | 418 | "Options:\n" |
419 | "\t-H\tprefix output lines with filename where match was found\n" | 419 | "\t-H\tprefix output lines with filename where match was found\n" |
420 | "\t-h\tsuppress the prefixing filename on output\n" | 420 | "\t-h\tsuppress the prefixing filename on output\n" |
@@ -422,200 +422,198 @@ const char grep_usage[] = | |||
422 | "\t-n\tprint line number with output lines\n" | 422 | "\t-n\tprint line number with output lines\n" |
423 | "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n" | 423 | "\t-q\tbe quiet. Returns 0 if result was found, 1 otherwise\n" |
424 | "\t-v\tselect non-matching lines\n" | 424 | "\t-v\tselect non-matching lines\n" |
425 | "\t-s\tsuppress file open/read error messages\n\n" | 425 | "\t-s\tsuppress file open/read error messages" |
426 | #endif | 426 | #endif |
427 | ; | 427 | ; |
428 | #endif | 428 | #endif |
429 | 429 | ||
430 | #if defined BB_GUNZIP | 430 | #if defined BB_GUNZIP |
431 | const char gunzip_usage[] = | 431 | const char gunzip_usage[] = |
432 | "gunzip [OPTION]... FILE\n" | 432 | "gunzip [OPTION]... FILE" |
433 | #ifndef BB_FEATURE_TRIVIAL_HELP | 433 | #ifndef BB_FEATURE_TRIVIAL_HELP |
434 | "\nUncompress FILE (or standard input if FILE is '-').\n\n" | 434 | "\n\nUncompress FILE (or standard input if FILE is '-').\n\n" |
435 | "Options:\n" | 435 | "Options:\n" |
436 | "\t-c\tWrite output to standard output\n" | 436 | "\t-c\tWrite output to standard output\n" |
437 | "\t-t\tTest compressed file integrity\n" | 437 | "\t-t\tTest compressed file integrity" |
438 | #endif | 438 | #endif |
439 | ; | 439 | ; |
440 | #endif | 440 | #endif |
441 | 441 | ||
442 | #if defined BB_GZIP | 442 | #if defined BB_GZIP |
443 | const char gzip_usage[] = | 443 | const char gzip_usage[] = |
444 | "gzip [OPTION]... FILE\n" | 444 | "gzip [OPTION]... FILE" |
445 | #ifndef BB_FEATURE_TRIVIAL_HELP | 445 | #ifndef BB_FEATURE_TRIVIAL_HELP |
446 | "\nCompress FILE with maximum compression.\n" | 446 | "\n\nCompress FILE with maximum compression.\n" |
447 | "When FILE is '-', reads standard input. Implies -c.\n\n" | 447 | "When FILE is '-', reads standard input. Implies -c.\n\n" |
448 | "Options:\n" | 448 | "Options:\n" |
449 | "\t-c\tWrite output to standard output instead of FILE.gz\n" | 449 | "\t-c\tWrite output to standard output instead of FILE.gz\n" |
450 | "\t-d\tdecompress\n" | 450 | "\t-d\tdecompress" |
451 | #endif | 451 | #endif |
452 | ; | 452 | ; |
453 | #endif | 453 | #endif |
454 | 454 | ||
455 | #if defined BB_HALT | 455 | #if defined BB_HALT |
456 | const char halt_usage[] = | 456 | const char halt_usage[] = |
457 | "halt\n" | 457 | "halt" |
458 | #ifndef BB_FEATURE_TRIVIAL_HELP | 458 | #ifndef BB_FEATURE_TRIVIAL_HELP |
459 | "\nHalt the system.\n" | 459 | "\n\nHalt the system." |
460 | #endif | 460 | #endif |
461 | ; | 461 | ; |
462 | #endif | 462 | #endif |
463 | 463 | ||
464 | #if defined BB_HEAD | 464 | #if defined BB_HEAD |
465 | const char head_usage[] = | 465 | const char head_usage[] = |
466 | "head [OPTION] [FILE]...\n" | 466 | "head [OPTION] [FILE]..." |
467 | #ifndef BB_FEATURE_TRIVIAL_HELP | 467 | #ifndef BB_FEATURE_TRIVIAL_HELP |
468 | "\nPrint first 10 lines of each FILE to standard output.\n" | 468 | "\n\nPrint first 10 lines of each FILE to standard output.\n" |
469 | "With more than one FILE, precede each with a header giving the\n" | 469 | "With more than one FILE, precede each with a header giving the\n" |
470 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" | 470 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" |
471 | 471 | ||
472 | "Options:\n" "\t-n NUM\t\tPrint first NUM lines instead of first 10\n" | 472 | "Options:\n" "\t-n NUM\t\tPrint first NUM lines instead of first 10" |
473 | #endif | 473 | #endif |
474 | ; | 474 | ; |
475 | #endif | 475 | #endif |
476 | 476 | ||
477 | #if defined BB_HOSTID | 477 | #if defined BB_HOSTID |
478 | const char hostid_usage[] = | 478 | const char hostid_usage[] = |
479 | "hostid\n" | 479 | "hostid" |
480 | #ifndef BB_FEATURE_TRIVIAL_HELP | 480 | #ifndef BB_FEATURE_TRIVIAL_HELP |
481 | "\nPrint out a unique 32-bit identifier for the machine.\n" | 481 | "\n\nPrint out a unique 32-bit identifier for the machine." |
482 | #endif | 482 | #endif |
483 | ; | 483 | ; |
484 | #endif | 484 | #endif |
485 | 485 | ||
486 | #if defined BB_HOSTNAME | 486 | #if defined BB_HOSTNAME |
487 | const char hostname_usage[] = | 487 | const char hostname_usage[] = |
488 | "hostname [OPTION] {hostname | -F file}\n" | 488 | "hostname [OPTION] {hostname | -F file}" |
489 | #ifndef BB_FEATURE_TRIVIAL_HELP | 489 | #ifndef BB_FEATURE_TRIVIAL_HELP |
490 | "\nGet or set the hostname or DNS domain name. If a hostname is given\n" | 490 | "\n\nGet or set the hostname or DNS domain name. If a hostname is given\n" |
491 | "(or a file with the -F parameter), the host name will be set.\n\n" | 491 | "(or a file with the -F parameter), the host name will be set.\n\n" |
492 | |||
492 | "Options:\n" | 493 | "Options:\n" |
493 | "\t-s\t\tShort\n" | 494 | "\t-s\t\tShort\n" |
494 | |||
495 | "\t-i\t\tAddresses for the hostname\n" | 495 | "\t-i\t\tAddresses for the hostname\n" |
496 | "\t-d\t\tDNS domain name\n" | 496 | "\t-d\t\tDNS domain name\n" |
497 | "\t-F, --file FILE\tUse the contents of FILE to specify the hostname\n" | 497 | "\t-F, --file FILE\tUse the contents of FILE to specify the hostname" |
498 | #endif | 498 | #endif |
499 | ; | 499 | ; |
500 | #endif | 500 | #endif |
501 | 501 | ||
502 | #if defined BB_ID | 502 | #if defined BB_ID |
503 | const char id_usage[] = | 503 | const char id_usage[] = |
504 | "id [OPTIONS]... [USERNAME]\n" | 504 | "id [OPTIONS]... [USERNAME]" |
505 | #ifndef BB_FEATURE_TRIVIAL_HELP | 505 | #ifndef BB_FEATURE_TRIVIAL_HELP |
506 | "\nPrint information for USERNAME or the current user\n\n" | 506 | "\n\nPrint information for USERNAME or the current user\n\n" |
507 | "Options:\n" | 507 | "Options:\n" |
508 | "\t-g\tprints only the group ID\n" | 508 | "\t-g\tprints only the group ID\n" |
509 | "\t-u\tprints only the user ID\n" | 509 | "\t-u\tprints only the user ID\n" |
510 | "\t-r\tprints the real user ID instead of the effective ID (with -ug)\n\n" | 510 | "\t-r\tprints the real user ID instead of the effective ID (with -ug)" |
511 | #endif | 511 | #endif |
512 | ; | 512 | ; |
513 | #endif | 513 | #endif |
514 | 514 | ||
515 | #if defined BB_INSMOD | 515 | #if defined BB_INSMOD |
516 | const char insmod_usage[] = | 516 | const char insmod_usage[] = |
517 | "insmod [OPTION]... MODULE [symbol=value]...\n" | 517 | "insmod [OPTION]... MODULE [symbol=value]..." |
518 | #ifndef BB_FEATURE_TRIVIAL_HELP | 518 | #ifndef BB_FEATURE_TRIVIAL_HELP |
519 | "\nLoads the specified kernel modules into the kernel.\n\n" | 519 | "\n\nLoads the specified kernel modules into the kernel.\n\n" |
520 | "Options:\n" | 520 | "Options:\n" |
521 | "\t-f\tForce module to load into the wrong kernel version.\n" | 521 | "\t-f\tForce module to load into the wrong kernel version.\n" |
522 | "\t-k\tMake module autoclean-able.\n" | 522 | "\t-k\tMake module autoclean-able.\n" |
523 | "\t-v\tverbose output\n" "\t-x\tdo not export externs\n" | 523 | "\t-v\tverbose output\n" "\t-x\tdo not export externs" |
524 | #endif | 524 | #endif |
525 | ; | 525 | ; |
526 | #endif | 526 | #endif |
527 | 527 | ||
528 | #if defined BB_KILL | 528 | #if defined BB_KILL |
529 | const char kill_usage[] = | 529 | const char kill_usage[] = |
530 | "kill [-signal] process-id [process-id ...]\n" | 530 | "kill [-signal] process-id [process-id ...]" |
531 | #ifndef BB_FEATURE_TRIVIAL_HELP | 531 | #ifndef BB_FEATURE_TRIVIAL_HELP |
532 | "\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" | 532 | "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" |
533 | "Options:\n" "\t-l\tList all signal names and numbers.\n\n" | 533 | "Options:\n" "\t-l\tList all signal names and numbers." |
534 | #endif | 534 | #endif |
535 | ; | 535 | ; |
536 | #endif | 536 | #endif |
537 | 537 | ||
538 | #if defined BB_KILLALL | 538 | #if defined BB_KILLALL |
539 | const char killall_usage[] = | 539 | const char killall_usage[] = |
540 | "killall [-signal] process-name [process-name ...]\n" | 540 | "killall [-signal] process-name [process-name ...]" |
541 | #ifndef BB_FEATURE_TRIVIAL_HELP | 541 | #ifndef BB_FEATURE_TRIVIAL_HELP |
542 | "\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" | 542 | "\n\nSend a signal (default is SIGTERM) to the specified process(es).\n\n" |
543 | "Options:\n" "\t-l\tList all signal names and numbers.\n\n" | 543 | "Options:\n" "\t-l\tList all signal names and numbers." |
544 | #endif | 544 | #endif |
545 | ; | 545 | ; |
546 | #endif | 546 | #endif |
547 | 547 | ||
548 | #if defined BB_LENGTH | 548 | #if defined BB_LENGTH |
549 | const char length_usage[] = | 549 | const char length_usage[] = |
550 | "length STRING\n" | 550 | "length STRING" |
551 | #ifndef BB_FEATURE_TRIVIAL_HELP | 551 | #ifndef BB_FEATURE_TRIVIAL_HELP |
552 | "\nPrints out the length of the specified STRING.\n" | 552 | "\n\nPrints out the length of the specified STRING." |
553 | #endif | 553 | #endif |
554 | ; | 554 | ; |
555 | #endif | 555 | #endif |
556 | 556 | ||
557 | #if defined BB_LN | 557 | #if defined BB_LN |
558 | const char ln_usage[] = | 558 | const char ln_usage[] = |
559 | "ln [OPTION] TARGET... LINK_NAME|DIRECTORY\n" | 559 | "ln [OPTION] TARGET... LINK_NAME|DIRECTORY" |
560 | #ifndef BB_FEATURE_TRIVIAL_HELP | 560 | #ifndef BB_FEATURE_TRIVIAL_HELP |
561 | "\nCreate a link named LINK_NAME or DIRECTORY to the specified TARGET\n" | 561 | "\n\nCreate a link named LINK_NAME or DIRECTORY to the specified TARGET\n" |
562 | "\nYou may use '--' to indicate that all following arguments are non-options.\n\n" | 562 | "\nYou may use '--' to indicate that all following arguments are non-options.\n\n" |
563 | "Options:\n" | 563 | "Options:\n" |
564 | "\t-s\tmake symbolic links instead of hard links\n" | 564 | "\t-s\tmake symbolic links instead of hard links\n" |
565 | |||
566 | "\t-f\tremove existing destination files\n" | 565 | "\t-f\tremove existing destination files\n" |
567 | "\t-n\tno dereference symlinks - treat like normal file\n" | 566 | "\t-n\tno dereference symlinks - treat like normal file" |
568 | #endif | 567 | #endif |
569 | ; | 568 | ; |
570 | #endif | 569 | #endif |
571 | 570 | ||
572 | #if defined BB_LOADACM | 571 | #if defined BB_LOADACM |
573 | const char loadacm_usage[] = | 572 | const char loadacm_usage[] = |
574 | "loadacm < mapfile\n" | 573 | "loadacm < mapfile" |
575 | #ifndef BB_FEATURE_TRIVIAL_HELP | 574 | #ifndef BB_FEATURE_TRIVIAL_HELP |
576 | "\nLoads an acm from standard input.\n" | 575 | "\n\nLoads an acm from standard input." |
577 | #endif | 576 | #endif |
578 | ; | 577 | ; |
579 | #endif | 578 | #endif |
580 | 579 | ||
581 | #if defined BB_LOADFONT | 580 | #if defined BB_LOADFONT |
582 | const char loadfont_usage[] = | 581 | const char loadfont_usage[] = |
583 | "loadfont < font\n" | 582 | "loadfont < font" |
584 | #ifndef BB_FEATURE_TRIVIAL_HELP | 583 | #ifndef BB_FEATURE_TRIVIAL_HELP |
585 | "Loads a console font from standard input.\n" | 584 | "\n\nLoads a console font from standard input." |
586 | #endif | 585 | #endif |
587 | ; | 586 | ; |
588 | #endif | 587 | #endif |
589 | 588 | ||
590 | #if defined BB_LOADKMAP | 589 | #if defined BB_LOADKMAP |
591 | const char loadkmap_usage[] = | 590 | const char loadkmap_usage[] = |
592 | "loadkmap < keymap\n" | 591 | "loadkmap < keymap" |
593 | #ifndef BB_FEATURE_TRIVIAL_HELP | 592 | #ifndef BB_FEATURE_TRIVIAL_HELP |
594 | "\nLoads a binary keyboard translation table from standard input.\n" | 593 | "\n\nLoads a binary keyboard translation table from standard input." |
595 | #endif | 594 | #endif |
596 | ; | 595 | ; |
597 | #endif | 596 | #endif |
598 | 597 | ||
599 | #if defined BB_LOGGER | 598 | #if defined BB_LOGGER |
600 | const char logger_usage[] = | 599 | const char logger_usage[] = |
601 | "logger [OPTION]... [MESSAGE]\n" | 600 | "logger [OPTION]... [MESSAGE]" |
602 | #ifndef BB_FEATURE_TRIVIAL_HELP | 601 | #ifndef BB_FEATURE_TRIVIAL_HELP |
603 | "\nWrite MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n" | 602 | "\n\nWrite MESSAGE to the system log. If MESSAGE is omitted, log stdin.\n\n" |
604 | "Options:\n" | 603 | "Options:\n" |
605 | "\t-s\tLog to stderr as well as the system log.\n" | 604 | "\t-s\tLog to stderr as well as the system log.\n" |
606 | "\t-t\tLog using the specified tag (defaults to user name).\n" | 605 | "\t-t\tLog using the specified tag (defaults to user name).\n" |
607 | |||
608 | "\t-p\tEnter the message with the specified priority.\n" | 606 | "\t-p\tEnter the message with the specified priority.\n" |
609 | "\t\tThis may be numerical or a ``facility.level'' pair.\n" | 607 | "\t\tThis may be numerical or a ``facility.level'' pair." |
610 | #endif | 608 | #endif |
611 | ; | 609 | ; |
612 | #endif | 610 | #endif |
613 | 611 | ||
614 | #if defined BB_LOGNAME | 612 | #if defined BB_LOGNAME |
615 | const char logname_usage[] = | 613 | const char logname_usage[] = |
616 | "logname\n" | 614 | "logname" |
617 | #ifndef BB_FEATURE_TRIVIAL_HELP | 615 | #ifndef BB_FEATURE_TRIVIAL_HELP |
618 | "\nPrint the name of the current user.\n" | 616 | "\n\nPrint the name of the current user." |
619 | #endif | 617 | #endif |
620 | ; | 618 | ; |
621 | #endif | 619 | #endif |
@@ -663,9 +661,9 @@ const char ls_usage[] = | |||
663 | #ifdef BB_FEATURE_LS_SORTFILES | 661 | #ifdef BB_FEATURE_LS_SORTFILES |
664 | "X" | 662 | "X" |
665 | #endif | 663 | #endif |
666 | "] [filenames...]\n" | 664 | "] [filenames...]" |
667 | #ifndef BB_FEATURE_TRIVIAL_HELP | 665 | #ifndef BB_FEATURE_TRIVIAL_HELP |
668 | "\nList directory contents\n\n" | 666 | "\n\nList directory contents\n\n" |
669 | "Options:\n" | 667 | "Options:\n" |
670 | "\t-1\tlist files in a single column\n" | 668 | "\t-1\tlist files in a single column\n" |
671 | "\t-A\tdo not list implied . and ..\n" | 669 | "\t-A\tdo not list implied . and ..\n" |
@@ -689,7 +687,7 @@ const char ls_usage[] = | |||
689 | "\t-p\tappend indicator (one of /=@|) to entries\n" | 687 | "\t-p\tappend indicator (one of /=@|) to entries\n" |
690 | #endif | 688 | #endif |
691 | #ifdef BB_FEATURE_LS_FOLLOWLINKS | 689 | #ifdef BB_FEATURE_LS_FOLLOWLINKS |
692 | "\t-L\tlist entries pointed to by symbolic links\n" | 690 | "\t-L\tlist entries pointed to by symbolic links\n" |
693 | #endif | 691 | #endif |
694 | #ifdef BB_FEATURE_LS_RECURSIVE | 692 | #ifdef BB_FEATURE_LS_RECURSIVE |
695 | "\t-R\tlist subdirectories recursively\n" | 693 | "\t-R\tlist subdirectories recursively\n" |
@@ -724,18 +722,18 @@ const char ls_usage[] = | |||
724 | 722 | ||
725 | #if defined BB_LSMOD | 723 | #if defined BB_LSMOD |
726 | const char lsmod_usage[] = | 724 | const char lsmod_usage[] = |
727 | "lsmod\n" | 725 | "lsmod" |
728 | #ifndef BB_FEATURE_TRIVIAL_HELP | 726 | #ifndef BB_FEATURE_TRIVIAL_HELP |
729 | "\nList the currently loaded kernel modules.\n" | 727 | "\n\nList the currently loaded kernel modules." |
730 | #endif | 728 | #endif |
731 | ; | 729 | ; |
732 | #endif | 730 | #endif |
733 | 731 | ||
734 | #if defined BB_MAKEDEVS | 732 | #if defined BB_MAKEDEVS |
735 | const char makedevs_usage[] = | 733 | const char makedevs_usage[] = |
736 | "makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]\n" | 734 | "makedevs NAME TYPE MAJOR MINOR FIRST LAST [s]" |
737 | #ifndef BB_FEATURE_TRIVIAL_HELP | 735 | #ifndef BB_FEATURE_TRIVIAL_HELP |
738 | "\nCreates a range of block or character special files\n\n" | 736 | "\n\nCreates a range of block or character special files\n\n" |
739 | "TYPEs include:\n" | 737 | "TYPEs include:\n" |
740 | "\tb:\tMake a block (buffered) device.\n" | 738 | "\tb:\tMake a block (buffered) device.\n" |
741 | "\tc or u:\tMake a character (un-buffered) device.\n" | 739 | "\tc or u:\tMake a character (un-buffered) device.\n" |
@@ -745,7 +743,7 @@ const char makedevs_usage[] = | |||
745 | "If 's' is the last argument, the base device is created as well.\n\n" | 743 | "If 's' is the last argument, the base device is created as well.\n\n" |
746 | "For example:\n" | 744 | "For example:\n" |
747 | "\tmakedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n" | 745 | "\tmakedevs /dev/ttyS c 4 66 2 63 -> ttyS2-ttyS63\n" |
748 | "\tmakedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8\n" | 746 | "\tmakedevs /dev/hda b 3 0 0 8 s -> hda,hda1-hda8" |
749 | #endif | 747 | #endif |
750 | ; | 748 | ; |
751 | #endif | 749 | #endif |
@@ -753,9 +751,9 @@ const char makedevs_usage[] = | |||
753 | #if defined BB_MD5SUM | 751 | #if defined BB_MD5SUM |
754 | const char md5sum_usage[] = | 752 | const char md5sum_usage[] = |
755 | "md5sum [OPTION] [FILE]...\n" | 753 | "md5sum [OPTION] [FILE]...\n" |
756 | "or: md5sum [OPTION] -c [FILE]\n" | 754 | "or: md5sum [OPTION] -c [FILE]" |
757 | #ifndef BB_FEATURE_TRIVIAL_HELP | 755 | #ifndef BB_FEATURE_TRIVIAL_HELP |
758 | "\nPrint or check MD5 checksums.\n\n" | 756 | "\n\nPrint or check MD5 checksums.\n\n" |
759 | "Options:\n" | 757 | "Options:\n" |
760 | "With no FILE, or when FILE is -, read standard input.\n\n" | 758 | "With no FILE, or when FILE is -, read standard input.\n\n" |
761 | "\t-b\tread files in binary mode\n" | 759 | "\t-b\tread files in binary mode\n" |
@@ -764,103 +762,102 @@ const char md5sum_usage[] = | |||
764 | "\t-g\tread a string\n" | 762 | "\t-g\tread a string\n" |
765 | "\nThe following two options are useful only when verifying checksums:\n" | 763 | "\nThe following two options are useful only when verifying checksums:\n" |
766 | "\t-s,\tdon't output anything, status code shows success\n" | 764 | "\t-s,\tdon't output anything, status code shows success\n" |
767 | "\t-w,\twarn about improperly formated MD5 checksum lines\n" | 765 | "\t-w,\twarn about improperly formated MD5 checksum lines" |
768 | #endif | 766 | #endif |
769 | ; | 767 | ; |
770 | #endif | 768 | #endif |
771 | 769 | ||
772 | #if defined BB_MKDIR | 770 | #if defined BB_MKDIR |
773 | const char mkdir_usage[] = | 771 | const char mkdir_usage[] = |
774 | "mkdir [OPTION] DIRECTORY...\n" | 772 | "mkdir [OPTION] DIRECTORY..." |
775 | #ifndef BB_FEATURE_TRIVIAL_HELP | 773 | #ifndef BB_FEATURE_TRIVIAL_HELP |
776 | "\nCreate the DIRECTORY(ies), if they do not already exist\n\n" | 774 | "\n\nCreate the DIRECTORY(ies), if they do not already exist\n\n" |
775 | |||
777 | "Options:\n" | 776 | "Options:\n" |
778 | |||
779 | "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n" | 777 | "\t-m\tset permission mode (as in chmod), not rwxrwxrwx - umask\n" |
780 | "\t-p\tno error if existing, make parent directories as needed\n" | 778 | "\t-p\tno error if existing, make parent directories as needed" |
781 | #endif | 779 | #endif |
782 | ; | 780 | ; |
783 | #endif | 781 | #endif |
784 | 782 | ||
785 | #if defined BB_MKFIFO | 783 | #if defined BB_MKFIFO |
786 | const char mkfifo_usage[] = | 784 | const char mkfifo_usage[] = |
787 | "mkfifo [OPTIONS] name\n" | 785 | "mkfifo [OPTIONS] name" |
788 | #ifndef BB_FEATURE_TRIVIAL_HELP | 786 | #ifndef BB_FEATURE_TRIVIAL_HELP |
789 | "\nCreates a named pipe (identical to 'mknod name p')\n\n" | 787 | "\n\nCreates a named pipe (identical to 'mknod name p')\n\n" |
790 | "Options:\n" | 788 | "Options:\n" |
791 | "\t-m\tcreate the pipe using the specified mode (default a=rw)\n" | 789 | "\t-m\tcreate the pipe using the specified mode (default a=rw)" |
792 | #endif | 790 | #endif |
793 | ; | 791 | ; |
794 | #endif | 792 | #endif |
795 | 793 | ||
796 | #if defined BB_MKFS_MINIX | 794 | #if defined BB_MKFS_MINIX |
797 | const char mkfs_minix_usage[] = | 795 | const char mkfs_minix_usage[] = |
798 | "mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n" | 796 | "mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]" |
799 | #ifndef BB_FEATURE_TRIVIAL_HELP | 797 | #ifndef BB_FEATURE_TRIVIAL_HELP |
800 | "\nMake a MINIX filesystem.\n\n" | 798 | "\n\nMake a MINIX filesystem.\n\n" |
801 | "Options:\n" | 799 | "Options:\n" |
802 | "\t-c\t\tCheck the device for bad blocks\n" | 800 | "\t-c\t\tCheck the device for bad blocks\n" |
803 | "\t-n [14|30]\tSpecify the maximum length of filenames\n" | 801 | "\t-n [14|30]\tSpecify the maximum length of filenames\n" |
804 | "\t-i INODES\tSpecify the number of inodes for the filesystem\n" | 802 | "\t-i INODES\tSpecify the number of inodes for the filesystem\n" |
805 | "\t-l FILENAME\tRead the bad blocks list from FILENAME\n" | 803 | "\t-l FILENAME\tRead the bad blocks list from FILENAME\n" |
806 | "\t-v\t\tMake a Minix version 2 filesystem\n\n" | 804 | "\t-v\t\tMake a Minix version 2 filesystem" |
807 | #endif | 805 | #endif |
808 | ; | 806 | ; |
809 | #endif | 807 | #endif |
810 | 808 | ||
811 | #if defined BB_MKNOD | 809 | #if defined BB_MKNOD |
812 | const char mknod_usage[] = | 810 | const char mknod_usage[] = |
813 | "mknod [OPTIONS] NAME TYPE MAJOR MINOR\n" | 811 | "mknod [OPTIONS] NAME TYPE MAJOR MINOR" |
814 | #ifndef BB_FEATURE_TRIVIAL_HELP | 812 | #ifndef BB_FEATURE_TRIVIAL_HELP |
815 | "\nCreate a special file (block, character, or pipe).\n\n" | 813 | "\n\nCreate a special file (block, character, or pipe).\n\n" |
816 | "Options:\n" | 814 | "Options:\n" |
817 | "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n" | 815 | "\t-m\tcreate the special file using the specified mode (default a=rw)\n\n" |
818 | "TYPEs include:\n" | 816 | "TYPEs include:\n" |
819 | "\tb:\tMake a block (buffered) device.\n" | 817 | "\tb:\tMake a block (buffered) device.\n" |
820 | "\tc or u:\tMake a character (un-buffered) device.\n" | 818 | "\tc or u:\tMake a character (un-buffered) device.\n" |
821 | "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes.\n" | 819 | "\tp:\tMake a named pipe. MAJOR and MINOR are ignored for named pipes." |
822 | #endif | 820 | #endif |
823 | ; | 821 | ; |
824 | #endif | 822 | #endif |
825 | 823 | ||
826 | #if defined BB_MKSWAP | 824 | #if defined BB_MKSWAP |
827 | const char mkswap_usage[] = | 825 | const char mkswap_usage[] = |
828 | "mkswap [-c] [-v0|-v1] device [block-count]\n" | 826 | "mkswap [-c] [-v0|-v1] device [block-count]" |
829 | #ifndef BB_FEATURE_TRIVIAL_HELP | 827 | #ifndef BB_FEATURE_TRIVIAL_HELP |
830 | "\nPrepare a disk partition to be used as a swap partition.\n\n" | 828 | "\n\nPrepare a disk partition to be used as a swap partition.\n\n" |
831 | "Options:\n" "\t-c\t\tCheck for read-ability.\n" | 829 | "Options:\n" "\t-c\t\tCheck for read-ability.\n" |
832 | "\t-v0\t\tMake version 0 swap [max 128 Megs].\n" | 830 | "\t-v0\t\tMake version 0 swap [max 128 Megs].\n" |
833 | "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n" | 831 | "\t-v1\t\tMake version 1 swap [big!] (default for kernels > 2.1.117).\n" |
834 | 832 | "\tblock-count\tNumber of block to use (default is entire partition)." | |
835 | "\tblock-count\tNumber of block to use (default is entire partition).\n" | ||
836 | #endif | 833 | #endif |
837 | ; | 834 | ; |
838 | #endif | 835 | #endif |
839 | 836 | ||
840 | #if defined BB_MKTEMP | 837 | #if defined BB_MKTEMP |
841 | const char mktemp_usage[] = | 838 | const char mktemp_usage[] = |
842 | "mktemp [-q] TEMPLATE\n" | 839 | "mktemp [-q] TEMPLATE" |
843 | #ifndef BB_FEATURE_TRIVIAL_HELP | 840 | #ifndef BB_FEATURE_TRIVIAL_HELP |
844 | "\nCreates a temporary file with its name based on TEMPLATE.\n" | 841 | "\n\nCreates a temporary file with its name based on TEMPLATE.\n" |
845 | "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX).\n" | 842 | "TEMPLATE is any name with six `Xs' (i.e. /tmp/temp.XXXXXX)." |
846 | #endif | 843 | #endif |
847 | ; | 844 | ; |
848 | #endif | 845 | #endif |
849 | 846 | ||
850 | #if defined BB_MORE | 847 | #if defined BB_MORE |
851 | const char more_usage[] = | 848 | const char more_usage[] = |
852 | "more [FILE ...]\n" | 849 | "more [FILE ...]" |
853 | #ifndef BB_FEATURE_TRIVIAL_HELP | 850 | #ifndef BB_FEATURE_TRIVIAL_HELP |
854 | "\nMore is a filter for viewing FILE one screenful at a time.\n" | 851 | "\n\nMore is a filter for viewing FILE one screenful at a time." |
855 | #endif | 852 | #endif |
856 | ; | 853 | ; |
857 | #endif | 854 | #endif |
858 | 855 | ||
859 | #if defined BB_MOUNT | 856 | #if defined BB_MOUNT |
860 | const char mount_usage[] = | 857 | const char mount_usage[] = |
861 | "mount [flags] device directory [-o options,more-options]\n" | 858 | "mount [flags] device directory [-o options,more-options]" |
862 | #ifndef BB_FEATURE_TRIVIAL_HELP | 859 | #ifndef BB_FEATURE_TRIVIAL_HELP |
863 | "\nMount a filesystem\n\n" | 860 | "\n\nMount a filesystem\n\n" |
864 | "Flags:\n" | 861 | "Flags:\n" |
865 | "\t-a:\t\tMount all filesystems in fstab.\n" | 862 | "\t-a:\t\tMount all filesystems in fstab.\n" |
866 | #ifdef BB_MTAB | 863 | #ifdef BB_MTAB |
@@ -884,21 +881,21 @@ const char mount_usage[] = | |||
884 | "\tremount:\tRe-mount a currently-mounted filesystem, changing its flags.\n" | 881 | "\tremount:\tRe-mount a currently-mounted filesystem, changing its flags.\n" |
885 | "\tro/rw:\t\tMount for read-only / read-write.\n" | 882 | "\tro/rw:\t\tMount for read-only / read-write.\n" |
886 | "\nThere are EVEN MORE flags that are specific to each filesystem.\n" | 883 | "\nThere are EVEN MORE flags that are specific to each filesystem.\n" |
887 | "You'll have to see the written documentation for those.\n" | 884 | "You'll have to see the written documentation for those." |
888 | #endif | 885 | #endif |
889 | ; | 886 | ; |
890 | #endif | 887 | #endif |
891 | 888 | ||
892 | #if defined BB_MT | 889 | #if defined BB_MT |
893 | const char mt_usage[] = | 890 | const char mt_usage[] = |
894 | "mt [-f device] opcode value\n" | 891 | "mt [-f device] opcode value" |
895 | #ifndef BB_FEATURE_TRIVIAL_HELP | 892 | #ifndef BB_FEATURE_TRIVIAL_HELP |
896 | "\nControl magnetic tape drive operation\n" | 893 | "\n\nControl magnetic tape drive operation\n" |
897 | "\nAvailable Opcodes:\n\n" | 894 | "\nAvailable Opcodes:\n\n" |
898 | "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" | 895 | "bsf bsfm bsr bss datacompression drvbuffer eof eom erase\n" |
899 | "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" | 896 | "fsf fsfm fsr fss load lock mkpart nop offline ras1 ras2\n" |
900 | "ras3 reset retension rew rewoffline seek setblk setdensity\n" | 897 | "ras3 reset retension rew rewoffline seek setblk setdensity\n" |
901 | "setpart tell unload unlock weof wset\n" | 898 | "setpart tell unload unlock weof wset" |
902 | #endif | 899 | #endif |
903 | ; | 900 | ; |
904 | #endif | 901 | #endif |
@@ -906,27 +903,27 @@ const char mt_usage[] = | |||
906 | #if defined BB_CP_MV | 903 | #if defined BB_CP_MV |
907 | const char mv_usage[] = | 904 | const char mv_usage[] = |
908 | "mv SOURCE DEST\n" | 905 | "mv SOURCE DEST\n" |
909 | " or: mv SOURCE... DIRECTORY\n" | 906 | " or: mv SOURCE... DIRECTORY" |
910 | #ifndef BB_FEATURE_TRIVIAL_HELP | 907 | #ifndef BB_FEATURE_TRIVIAL_HELP |
911 | "\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n" | 908 | "\n\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY." |
912 | #endif | 909 | #endif |
913 | ; | 910 | ; |
914 | #endif | 911 | #endif |
915 | 912 | ||
916 | #if defined BB_NC | 913 | #if defined BB_NC |
917 | const char nc_usage[] = | 914 | const char nc_usage[] = |
918 | "nc [IP] [port]\n" | 915 | "nc [IP] [port]" |
919 | #ifndef BB_FEATURE_TRIVIAL_HELP | 916 | #ifndef BB_FEATURE_TRIVIAL_HELP |
920 | "\nNetcat opens a pipe to IP:port\n" | 917 | "\n\nNetcat opens a pipe to IP:port" |
921 | #endif | 918 | #endif |
922 | ; | 919 | ; |
923 | #endif | 920 | #endif |
924 | 921 | ||
925 | #if defined BB_NSLOOKUP | 922 | #if defined BB_NSLOOKUP |
926 | const char nslookup_usage[] = | 923 | const char nslookup_usage[] = |
927 | "nslookup [HOST]\n" | 924 | "nslookup [HOST]" |
928 | #ifndef BB_FEATURE_TRIVIAL_HELP | 925 | #ifndef BB_FEATURE_TRIVIAL_HELP |
929 | "\nQueries the nameserver for the IP address of the given HOST\n" | 926 | "\n\nQueries the nameserver for the IP address of the given HOST" |
930 | #endif | 927 | #endif |
931 | ; | 928 | ; |
932 | #endif | 929 | #endif |
@@ -934,21 +931,21 @@ const char nslookup_usage[] = | |||
934 | #if defined BB_PING | 931 | #if defined BB_PING |
935 | #if defined BB_FEATURE_SIMPLE_PING | 932 | #if defined BB_FEATURE_SIMPLE_PING |
936 | const char ping_usage[] = | 933 | const char ping_usage[] = |
937 | "ping host\n" | 934 | "ping host" |
938 | #ifndef BB_FEATURE_TRIVIAL_HELP | 935 | #ifndef BB_FEATURE_TRIVIAL_HELP |
939 | "\nSend ICMP ECHO_REQUEST packets to network hosts\n" | 936 | "\n\nSend ICMP ECHO_REQUEST packets to network hosts" |
940 | #endif | 937 | #endif |
941 | ; | 938 | ; |
942 | #else /* ! defined BB_FEATURE_SIMPLE_PING */ | 939 | #else /* ! defined BB_FEATURE_SIMPLE_PING */ |
943 | const char ping_usage[] = | 940 | const char ping_usage[] = |
944 | "ping [OPTION]... host\n" | 941 | "ping [OPTION]... host" |
945 | #ifndef BB_FEATURE_TRIVIAL_HELP | 942 | #ifndef BB_FEATURE_TRIVIAL_HELP |
946 | "\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n" | 943 | "\n\nSend ICMP ECHO_REQUEST packets to network hosts.\n\n" |
947 | "Options:\n" | 944 | "Options:\n" |
948 | "\t-c COUNT\tSend only COUNT pings.\n" | 945 | "\t-c COUNT\tSend only COUNT pings.\n" |
949 | "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n" | 946 | "\t-s SIZE\t\tSend SIZE data bytes in packets (default=56).\n" |
950 | "\t-q\t\tQuiet mode, only displays output at start\n" | 947 | "\t-q\t\tQuiet mode, only displays output at start\n" |
951 | "\t\t\tand when finished.\n" | 948 | "\t\t\tand when finished." |
952 | #endif | 949 | #endif |
953 | ; | 950 | ; |
954 | #endif | 951 | #endif |
@@ -956,79 +953,79 @@ const char ping_usage[] = | |||
956 | 953 | ||
957 | #if defined BB_POWEROFF | 954 | #if defined BB_POWEROFF |
958 | const char poweroff_usage[] = | 955 | const char poweroff_usage[] = |
959 | "poweroff\n" | 956 | "poweroff" |
960 | #ifndef BB_FEATURE_TRIVIAL_HELP | 957 | #ifndef BB_FEATURE_TRIVIAL_HELP |
961 | "\nHalt the system and request that the kernel shut off the power.\n" | 958 | "\n\nHalt the system and request that the kernel shut off the power." |
962 | #endif | 959 | #endif |
963 | ; | 960 | ; |
964 | #endif | 961 | #endif |
965 | 962 | ||
966 | #if defined BB_PRINTF | 963 | #if defined BB_PRINTF |
967 | const char printf_usage[] = | 964 | const char printf_usage[] = |
968 | "printf FORMAT [ARGUMENT...]\n" | 965 | "printf FORMAT [ARGUMENT...]" |
969 | #ifndef BB_FEATURE_TRIVIAL_HELP | 966 | #ifndef BB_FEATURE_TRIVIAL_HELP |
970 | "\nFormats and prints ARGUMENT(s) according to FORMAT,\n" | 967 | "\n\nFormats and prints ARGUMENT(s) according to FORMAT,\n" |
971 | "Where FORMAT controls the output exactly as in C printf.\n" | 968 | "Where FORMAT controls the output exactly as in C printf." |
972 | #endif | 969 | #endif |
973 | ; | 970 | ; |
974 | #endif | 971 | #endif |
975 | 972 | ||
976 | #if defined BB_PS | 973 | #if defined BB_PS |
977 | const char ps_usage[] = | 974 | const char ps_usage[] = |
978 | "ps\n" | 975 | "ps" |
979 | #ifndef BB_FEATURE_TRIVIAL_HELP | 976 | #ifndef BB_FEATURE_TRIVIAL_HELP |
980 | "\nReport process status\n" | 977 | "\n\nReport process status\n" |
981 | "\nThis version of ps accepts no options.\n" | 978 | "\nThis version of ps accepts no options." |
982 | #endif | 979 | #endif |
983 | ; | 980 | ; |
984 | #endif | 981 | #endif |
985 | 982 | ||
986 | #if defined BB_PWD | 983 | #if defined BB_PWD |
987 | const char pwd_usage[] = | 984 | const char pwd_usage[] = |
988 | "pwd\n" | 985 | "pwd" |
989 | #ifndef BB_FEATURE_TRIVIAL_HELP | 986 | #ifndef BB_FEATURE_TRIVIAL_HELP |
990 | "\nPrint the full filename of the current working directory.\n" | 987 | "\n\nPrint the full filename of the current working directory." |
991 | #endif | 988 | #endif |
992 | ; | 989 | ; |
993 | #endif | 990 | #endif |
994 | 991 | ||
995 | #if defined BB_RDATE | 992 | #if defined BB_RDATE |
996 | const char rdate_usage[] = | 993 | const char rdate_usage[] = |
997 | "rdate [OPTION] HOST\n" | 994 | "rdate [OPTION] HOST" |
998 | #ifndef BB_FEATURE_TRIVIAL_HELP | 995 | #ifndef BB_FEATURE_TRIVIAL_HELP |
999 | "\nGet and possibly set the system date and time from a remote HOST.\n" | 996 | "\n\nGet and possibly set the system date and time from a remote HOST.\n" |
1000 | "Options:\n" | 997 | "Options:\n" |
1001 | "\t-s\tSet the system date and time (default).\n" | 998 | "\t-s\tSet the system date and time (default).\n" |
1002 | "\t-p\tPrint the date and time.\n" | 999 | "\t-p\tPrint the date and time." |
1003 | #endif | 1000 | #endif |
1004 | ; | 1001 | ; |
1005 | #endif | 1002 | #endif |
1006 | 1003 | ||
1007 | #if defined BB_READLINK | 1004 | #if defined BB_READLINK |
1008 | const char readlink_usage[] = | 1005 | const char readlink_usage[] = |
1009 | "readlink\n" | 1006 | "readlink" |
1010 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1007 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1011 | "\nRead a symbolic link.\n" | 1008 | "\n\nRead a symbolic link." |
1012 | #endif | 1009 | #endif |
1013 | ; | 1010 | ; |
1014 | #endif | 1011 | #endif |
1015 | 1012 | ||
1016 | #if defined BB_REBOOT | 1013 | #if defined BB_REBOOT |
1017 | const char reboot_usage[] = | 1014 | const char reboot_usage[] = |
1018 | "reboot\n" | 1015 | "reboot" |
1019 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1016 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1020 | "\nReboot the system.\n" | 1017 | "\n\nReboot the system." |
1021 | #endif | 1018 | #endif |
1022 | ; | 1019 | ; |
1023 | #endif | 1020 | #endif |
1024 | 1021 | ||
1025 | #if defined BB_RENICE | 1022 | #if defined BB_RENICE |
1026 | const char renice_usage[] = | 1023 | const char renice_usage[] = |
1027 | "renice priority pid [pid ...]\n" | 1024 | "renice priority pid [pid ...]" |
1028 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1025 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1029 | "\nChanges priority of running processes. Allowed priorities range\n" | 1026 | "\n\nChanges priority of running processes. Allowed priorities range\n" |
1030 | "from 20 (the process runs only when nothing else is running) to 0\n" | 1027 | "from 20 (the process runs only when nothing else is running) to 0\n" |
1031 | "(default priority) to -20 (almost nothing else ever gets to run).\n" | 1028 | "(default priority) to -20 (almost nothing else ever gets to run)." |
1032 | #endif | 1029 | #endif |
1033 | ; | 1030 | ; |
1034 | #endif | 1031 | #endif |
@@ -1036,60 +1033,60 @@ const char renice_usage[] = | |||
1036 | 1033 | ||
1037 | #if defined BB_RESET | 1034 | #if defined BB_RESET |
1038 | const char reset_usage[] = | 1035 | const char reset_usage[] = |
1039 | "reset\n" | 1036 | "reset" |
1040 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1037 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1041 | "\nResets the screen.\n" | 1038 | "\n\nResets the screen." |
1042 | #endif | 1039 | #endif |
1043 | ; | 1040 | ; |
1044 | #endif | 1041 | #endif |
1045 | 1042 | ||
1046 | #if defined BB_RM | 1043 | #if defined BB_RM |
1047 | const char rm_usage[] = | 1044 | const char rm_usage[] = |
1048 | "rm [OPTION]... FILE...\n" | 1045 | "rm [OPTION]... FILE..." |
1049 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1046 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1050 | "\nRemove (unlink) the FILE(s). You may use '--' to\n" | 1047 | "\n\nRemove (unlink) the FILE(s). You may use '--' to\n" |
1051 | "indicate that all following arguments are non-options.\n\n" | 1048 | "indicate that all following arguments are non-options.\n\n" |
1052 | "Options:\n" | 1049 | "Options:\n" |
1053 | "\t-f\t\tremove existing destinations, never prompt\n" | 1050 | "\t-f\t\tremove existing destinations, never prompt\n" |
1054 | "\t-r or -R\tremove the contents of directories recursively\n" | 1051 | "\t-r or -R\tremove the contents of directories recursively" |
1055 | #endif | 1052 | #endif |
1056 | ; | 1053 | ; |
1057 | #endif | 1054 | #endif |
1058 | 1055 | ||
1059 | #if defined BB_RMDIR | 1056 | #if defined BB_RMDIR |
1060 | const char rmdir_usage[] = | 1057 | const char rmdir_usage[] = |
1061 | "rmdir [OPTION]... DIRECTORY...\n" | 1058 | "rmdir [OPTION]... DIRECTORY..." |
1062 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1059 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1063 | "\nRemove the DIRECTORY(ies), if they are empty.\n" | 1060 | "\n\nRemove the DIRECTORY(ies), if they are empty." |
1064 | #endif | 1061 | #endif |
1065 | ; | 1062 | ; |
1066 | #endif | 1063 | #endif |
1067 | 1064 | ||
1068 | #if defined BB_RMMOD | 1065 | #if defined BB_RMMOD |
1069 | const char rmmod_usage[] = | 1066 | const char rmmod_usage[] = |
1070 | "rmmod [OPTION]... [MODULE]...\n" | 1067 | "rmmod [OPTION]... [MODULE]..." |
1071 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1068 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1072 | "\nUnloads the specified kernel modules from the kernel.\n\n" | 1069 | "\n\nUnloads the specified kernel modules from the kernel.\n\n" |
1073 | "Options:\n" | 1070 | "Options:\n" |
1074 | "\t-a\tTry to remove all unused kernel modules.\n" | 1071 | "\t-a\tTry to remove all unused kernel modules." |
1075 | #endif | 1072 | #endif |
1076 | ; | 1073 | ; |
1077 | #endif | 1074 | #endif |
1078 | 1075 | ||
1079 | #if defined BB_RPMUNPACK | 1076 | #if defined BB_RPMUNPACK |
1080 | const char rpmunpack_usage[] = | 1077 | const char rpmunpack_usage[] = |
1081 | "rpmunpack < package.rpm | gunzip | cpio -idmuv\n" | 1078 | "rpmunpack < package.rpm | gunzip | cpio -idmuv" |
1082 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1079 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1083 | "\nExtracts an rpm archive.\n" | 1080 | "\n\nExtracts an rpm archive." |
1084 | #endif | 1081 | #endif |
1085 | ; | 1082 | ; |
1086 | #endif | 1083 | #endif |
1087 | 1084 | ||
1088 | #if defined BB_SED | 1085 | #if defined BB_SED |
1089 | const char sed_usage[] = | 1086 | const char sed_usage[] = |
1090 | "sed [-Vhnef] pattern [files...]\n" | 1087 | "sed [-Vhnef] pattern [files...]" |
1091 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1088 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1092 | "\n" | 1089 | "\n\n" |
1093 | "-n\t\tsuppress automatic printing of pattern space\n" | 1090 | "-n\t\tsuppress automatic printing of pattern space\n" |
1094 | "-e script\tadd the script to the commands to be executed\n" | 1091 | "-e script\tadd the script to the commands to be executed\n" |
1095 | "-f scriptfile\tadd the contents of script-file to the commands to be executed\n" | 1092 | "-f scriptfile\tadd the contents of script-file to the commands to be executed\n" |
@@ -1097,19 +1094,19 @@ const char sed_usage[] = | |||
1097 | "\n" | 1094 | "\n" |
1098 | "If no -e or -f is given, the first non-option argument is taken as the\n" | 1095 | "If no -e or -f is given, the first non-option argument is taken as the\n" |
1099 | "sed script to interpret. All remaining arguments are names of input\n" | 1096 | "sed script to interpret. All remaining arguments are names of input\n" |
1100 | "files; if no input files are specified, then the standard input is read.\n" | 1097 | "files; if no input files are specified, then the standard input is read." |
1101 | #endif | 1098 | #endif |
1102 | ; | 1099 | ; |
1103 | #endif | 1100 | #endif |
1104 | 1101 | ||
1105 | #if defined BB_SETKEYCODES | 1102 | #if defined BB_SETKEYCODES |
1106 | const char setkeycodes_usage[] = | 1103 | const char setkeycodes_usage[] = |
1107 | "setkeycodes SCANCODE KEYCODE ...\n" | 1104 | "setkeycodes SCANCODE KEYCODE ..." |
1108 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1105 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1109 | "\nSet entries into the kernel's scancode-to-keycode map,\n" | 1106 | "\n\nSet entries into the kernel's scancode-to-keycode map,\n" |
1110 | "allowing unusual keyboards to generate usable keycodes.\n\n" | 1107 | "allowing unusual keyboards to generate usable keycodes.\n\n" |
1111 | "SCANCODE may be either xx or e0xx (hexadecimal),\n" | 1108 | "SCANCODE may be either xx or e0xx (hexadecimal),\n" |
1112 | "and KEYCODE is given in decimal\n" | 1109 | "and KEYCODE is given in decimal" |
1113 | #endif | 1110 | #endif |
1114 | ; | 1111 | ; |
1115 | #endif | 1112 | #endif |
@@ -1117,18 +1114,18 @@ const char setkeycodes_usage[] = | |||
1117 | #if defined BB_SH | 1114 | #if defined BB_SH |
1118 | const char shell_usage[] = | 1115 | const char shell_usage[] = |
1119 | "sh [FILE]...\n" | 1116 | "sh [FILE]...\n" |
1120 | " or: sh -c command [args]...\n" | 1117 | " or: sh -c command [args]..." |
1121 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1118 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1122 | "\nlash: The BusyBox command interpreter (shell).\n\n" | 1119 | "\n\nlash: The BusyBox command interpreter (shell)." |
1123 | #endif | 1120 | #endif |
1124 | ; | 1121 | ; |
1125 | #endif | 1122 | #endif |
1126 | 1123 | ||
1127 | #if defined BB_SLEEP | 1124 | #if defined BB_SLEEP |
1128 | const char sleep_usage[] = | 1125 | const char sleep_usage[] = |
1129 | "sleep N\n" | 1126 | "sleep N" |
1130 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1127 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1131 | "\nPause for N seconds.\n" | 1128 | "\n\nPause for N seconds." |
1132 | #endif | 1129 | #endif |
1133 | ; | 1130 | ; |
1134 | #endif | 1131 | #endif |
@@ -1139,49 +1136,49 @@ const char sort_usage[] = | |||
1139 | #ifdef BB_FEATURE_SORT_REVERSE | 1136 | #ifdef BB_FEATURE_SORT_REVERSE |
1140 | " [-r]" | 1137 | " [-r]" |
1141 | #endif | 1138 | #endif |
1142 | " [FILE]...\n" | 1139 | " [FILE]..." |
1143 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1140 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1144 | "\nSorts lines of text in the specified files\n" | 1141 | "\n\nSorts lines of text in the specified files" |
1145 | #endif | 1142 | #endif |
1146 | ; | 1143 | ; |
1147 | #endif | 1144 | #endif |
1148 | 1145 | ||
1149 | #if defined BB_SWAPONOFF | 1146 | #if defined BB_SWAPONOFF |
1150 | const char swapoff_usage[] = | 1147 | const char swapoff_usage[] = |
1151 | "swapoff [OPTION] [device]\n" | 1148 | "swapoff [OPTION] [device]" |
1152 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1149 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1153 | "\nStop swapping virtual memory pages on the given device.\n\n" | 1150 | "\n\nStop swapping virtual memory pages on the given device.\n\n" |
1154 | "Options:\n" | 1151 | "Options:\n" |
1155 | "\t-a\tStop swapping on all swap devices\n" | 1152 | "\t-a\tStop swapping on all swap devices" |
1156 | #endif | 1153 | #endif |
1157 | ; | 1154 | ; |
1158 | #endif | 1155 | #endif |
1159 | 1156 | ||
1160 | #if defined BB_SWAPONOFF | 1157 | #if defined BB_SWAPONOFF |
1161 | const char swapon_usage[] = | 1158 | const char swapon_usage[] = |
1162 | "swapon [OPTION] [device]\n" | 1159 | "swapon [OPTION] [device]" |
1163 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1160 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1164 | "\nStart swapping virtual memory pages on the given device.\n\n" | 1161 | "\n\nStart swapping virtual memory pages on the given device.\n\n" |
1165 | "Options:\n" | 1162 | "Options:\n" |
1166 | "\t-a\tStart swapping on all swap devices\n" | 1163 | "\t-a\tStart swapping on all swap devices" |
1167 | #endif | 1164 | #endif |
1168 | ; | 1165 | ; |
1169 | #endif | 1166 | #endif |
1170 | 1167 | ||
1171 | #if defined BB_SYNC | 1168 | #if defined BB_SYNC |
1172 | const char sync_usage[] = | 1169 | const char sync_usage[] = |
1173 | "sync\n" | 1170 | "sync" |
1174 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1171 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1175 | "\nWrite all buffered filesystem blocks to disk.\n" | 1172 | "\n\nWrite all buffered filesystem blocks to disk." |
1176 | #endif | 1173 | #endif |
1177 | ; | 1174 | ; |
1178 | #endif | 1175 | #endif |
1179 | 1176 | ||
1180 | #if defined BB_SYSLOGD | 1177 | #if defined BB_SYSLOGD |
1181 | const char syslogd_usage[] = | 1178 | const char syslogd_usage[] = |
1182 | "syslogd [OPTION]...\n" | 1179 | "syslogd [OPTION]..." |
1183 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1180 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1184 | "\nLinux system and kernel (provides klogd) logging utility.\n" | 1181 | "\n\nLinux system and kernel (provides klogd) logging utility.\n" |
1185 | "Note that this version of syslogd/klogd ignores /etc/syslog.conf.\n\n" | 1182 | "Note that this version of syslogd/klogd ignores /etc/syslog.conf.\n\n" |
1186 | "Options:\n" | 1183 | "Options:\n" |
1187 | "\t-m NUM\t\tInterval between MARK lines (default=20min, 0=off)\n" | 1184 | "\t-m NUM\t\tInterval between MARK lines (default=20min, 0=off)\n" |
@@ -1189,10 +1186,10 @@ const char syslogd_usage[] = | |||
1189 | #ifdef BB_FEATURE_KLOGD | 1186 | #ifdef BB_FEATURE_KLOGD |
1190 | "\t-K\t\tDo not start up the klogd process\n" | 1187 | "\t-K\t\tDo not start up the klogd process\n" |
1191 | #endif | 1188 | #endif |
1192 | "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)\n" | 1189 | "\t-O FILE\t\tUse an alternate log file (default=/var/log/messages)" |
1193 | #ifdef BB_FEATURE_REMOTE_LOG | 1190 | #ifdef BB_FEATURE_REMOTE_LOG |
1194 | "\t-R HOST[:PORT]\t\tLog remotely to IP or hostname on PORT (default PORT=514/UDP)\n" | 1191 | "\n\t-R HOST[:PORT]\t\tLog remotely to IP or hostname on PORT (default PORT=514/UDP)\n" |
1195 | "\t-L\t\tLog locally as well as network logging (default is network only)\n" | 1192 | "\t-L\t\tLog locally as well as network logging (default is network only)" |
1196 | #endif | 1193 | #endif |
1197 | #endif | 1194 | #endif |
1198 | ; | 1195 | ; |
@@ -1200,9 +1197,9 @@ const char syslogd_usage[] = | |||
1200 | 1197 | ||
1201 | #if defined BB_TAIL | 1198 | #if defined BB_TAIL |
1202 | const char tail_usage[] = | 1199 | const char tail_usage[] = |
1203 | "tail [OPTION]... [FILE]...\n" | 1200 | "tail [OPTION]... [FILE]..." |
1204 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1201 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1205 | "\nPrint last 10 lines of each FILE to standard output.\n" | 1202 | "\n\nPrint last 10 lines of each FILE to standard output.\n" |
1206 | "With more than one FILE, precede each with a header giving the\n" | 1203 | "With more than one FILE, precede each with a header giving the\n" |
1207 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" | 1204 | "file name. With no FILE, or when FILE is -, read standard input.\n\n" |
1208 | "Options:\n" | 1205 | "Options:\n" |
@@ -1210,17 +1207,17 @@ const char tail_usage[] = | |||
1210 | "\t-c N[kbm]\toutput the last N bytes\n" | 1207 | "\t-c N[kbm]\toutput the last N bytes\n" |
1211 | #endif | 1208 | #endif |
1212 | "\t-n N[kbm]\tprint last N lines instead of last 10\n" | 1209 | "\t-n N[kbm]\tprint last N lines instead of last 10\n" |
1213 | "\t-f\t\toutput data as the file grows\n" | 1210 | "\t-f\t\toutput data as the file grows" |
1214 | #ifndef BB_FEATURE_SIMPLE_TAIL | 1211 | #ifndef BB_FEATURE_SIMPLE_TAIL |
1215 | "\t-q\t\tnever output headers giving file names\n" | 1212 | "\n\t-q\t\tnever output headers giving file names\n" |
1216 | "\t-s SEC\t\twait SEC seconds between reads with -f\n" | 1213 | "\t-s SEC\t\twait SEC seconds between reads with -f\n" |
1217 | "\t-v\t\talways output headers giving file names\n\n" | 1214 | "\t-v\t\talways output headers giving file names\n\n" |
1218 | "If the first character of N (bytes or lines) is a `+', output begins with \n" | 1215 | "If the first character of N (bytes or lines) is a `+', output begins with \n" |
1219 | "the Nth item from the start of each file, otherwise, print the last N items\n" | 1216 | "the Nth item from the start of each file, otherwise, print the last N items\n" |
1220 | "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2).\n" | 1217 | "in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2)." |
1221 | //#else | 1218 | //#else |
1222 | // "\nIf the first character of N (bytes or lines) is a `+', output begins with \n" | 1219 | // "\nIf the first character of N (bytes or lines) is a `+', output begins with \n" |
1223 | // "the Nth item from the start of each file.\n" | 1220 | // "the Nth item from the start of each file." |
1224 | #endif | 1221 | #endif |
1225 | #endif | 1222 | #endif |
1226 | ; | 1223 | ; |
@@ -1237,9 +1234,9 @@ const char tar_usage[] = | |||
1237 | "[--exclude File] " | 1234 | "[--exclude File] " |
1238 | "[-X File]" | 1235 | "[-X File]" |
1239 | #endif | 1236 | #endif |
1240 | "[-f tarFile] [FILE(s)] ...\n" | 1237 | "[-f tarFile] [FILE(s)] ..." |
1241 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1238 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1242 | "\nCreate, extract, or list files from a tar file.\n\n" | 1239 | "\n\nCreate, extract, or list files from a tar file.\n\n" |
1243 | "Main operation mode:\n" | 1240 | "Main operation mode:\n" |
1244 | #ifdef BB_FEATURE_TAR_CREATE | 1241 | #ifdef BB_FEATURE_TAR_CREATE |
1245 | "\tc\t\tcreate\n" | 1242 | "\tc\t\tcreate\n" |
@@ -1254,27 +1251,27 @@ const char tar_usage[] = | |||
1254 | "\tX\t\tfile with names to exclude\n" | 1251 | "\tX\t\tfile with names to exclude\n" |
1255 | #endif | 1252 | #endif |
1256 | "\nInformative output:\n" | 1253 | "\nInformative output:\n" |
1257 | "\tv\t\tverbosely list files processed\n" | 1254 | "\tv\t\tverbosely list files processed" |
1258 | #endif | 1255 | #endif |
1259 | ; | 1256 | ; |
1260 | #endif | 1257 | #endif |
1261 | 1258 | ||
1262 | #if defined BB_TEE | 1259 | #if defined BB_TEE |
1263 | const char tee_usage[] = | 1260 | const char tee_usage[] = |
1264 | "tee [OPTION]... [FILE]...\n" | 1261 | "tee [OPTION]... [FILE]..." |
1265 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1262 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1266 | "\nCopy standard input to each FILE, and also to standard output.\n\n" | 1263 | "\n\nCopy standard input to each FILE, and also to standard output.\n\n" |
1267 | "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite\n" | 1264 | "Options:\n" "\t-a\tappend to the given FILEs, do not overwrite" |
1268 | #endif | 1265 | #endif |
1269 | ; | 1266 | ; |
1270 | #endif | 1267 | #endif |
1271 | 1268 | ||
1272 | #if defined BB_TELNET | 1269 | #if defined BB_TELNET |
1273 | const char telnet_usage[] = | 1270 | const char telnet_usage[] = |
1274 | "telnet host [port]\n" | 1271 | "telnet host [port]" |
1275 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1272 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1276 | "\nTelnet is used to establish interactive communication with another\n" | 1273 | "\n\nTelnet is used to establish interactive communication with another\n" |
1277 | "computer over a network using the TELNET protocol.\n" | 1274 | "computer over a network using the TELNET protocol." |
1278 | #endif | 1275 | #endif |
1279 | ; | 1276 | ; |
1280 | #endif | 1277 | #endif |
@@ -1282,76 +1279,76 @@ const char telnet_usage[] = | |||
1282 | #if defined BB_TEST | 1279 | #if defined BB_TEST |
1283 | const char test_usage[] = | 1280 | const char test_usage[] = |
1284 | "test EXPRESSION\n" | 1281 | "test EXPRESSION\n" |
1285 | "or [ EXPRESSION ]\n" | 1282 | "or [ EXPRESSION ]" |
1286 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1283 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1287 | "\nChecks file types and compares values returning an exit\n" | 1284 | "\n\nChecks file types and compares values returning an exit\n" |
1288 | "code determined by the value of EXPRESSION.\n" | 1285 | "code determined by the value of EXPRESSION." |
1289 | #endif | 1286 | #endif |
1290 | ; | 1287 | ; |
1291 | #endif | 1288 | #endif |
1292 | 1289 | ||
1293 | #if defined BB_TOUCH | 1290 | #if defined BB_TOUCH |
1294 | const char touch_usage[] = | 1291 | const char touch_usage[] = |
1295 | "touch [-c] file [file ...]\n" | 1292 | "touch [-c] file [file ...]" |
1296 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1293 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1297 | "\nUpdate the last-modified date on the given file[s].\n\n" | 1294 | "\n\nUpdate the last-modified date on the given file[s].\n\n" |
1298 | "Options:\n" | 1295 | "Options:\n" |
1299 | "\t-c\tDo not create any files\n" | 1296 | "\t-c\tDo not create any files" |
1300 | #endif | 1297 | #endif |
1301 | ; | 1298 | ; |
1302 | #endif | 1299 | #endif |
1303 | 1300 | ||
1304 | #if defined BB_TR | 1301 | #if defined BB_TR |
1305 | const char tr_usage[] = | 1302 | const char tr_usage[] = |
1306 | "tr [-cds] STRING1 [STRING2]\n" | 1303 | "tr [-cds] STRING1 [STRING2]" |
1307 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1304 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1308 | "\nTranslate, squeeze, and/or delete characters from\n" | 1305 | "\n\nTranslate, squeeze, and/or delete characters from\n" |
1309 | "standard input, writing to standard output.\n\n" | 1306 | "standard input, writing to standard output.\n\n" |
1310 | "Options:\n" | 1307 | "Options:\n" |
1311 | "\t-c\ttake complement of STRING1\n" | 1308 | "\t-c\ttake complement of STRING1\n" |
1312 | "\t-d\tdelete input characters coded STRING1\n" | 1309 | "\t-d\tdelete input characters coded STRING1\n" |
1313 | "\t-s\tsqueeze multiple output characters of STRING2 into one character\n" | 1310 | "\t-s\tsqueeze multiple output characters of STRING2 into one character" |
1314 | #endif | 1311 | #endif |
1315 | ; | 1312 | ; |
1316 | #endif | 1313 | #endif |
1317 | 1314 | ||
1318 | #if defined BB_TRUE_FALSE | 1315 | #if defined BB_TRUE_FALSE |
1319 | const char true_usage[] = | 1316 | const char true_usage[] = |
1320 | "true\n" | 1317 | "true" |
1321 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1318 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1322 | "\nReturn an exit code of TRUE (0).\n" | 1319 | "\n\nReturn an exit code of TRUE (0)." |
1323 | #endif | 1320 | #endif |
1324 | ; | 1321 | ; |
1325 | #endif | 1322 | #endif |
1326 | 1323 | ||
1327 | #if defined BB_TTY | 1324 | #if defined BB_TTY |
1328 | const char tty_usage[] = | 1325 | const char tty_usage[] = |
1329 | "tty\n" | 1326 | "tty" |
1330 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1327 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1331 | "\nPrint the file name of the terminal connected to standard input.\n\n" | 1328 | "\n\nPrint the file name of the terminal connected to standard input.\n\n" |
1332 | "Options:\n" | 1329 | "Options:\n" |
1333 | "\t-s\tprint nothing, only return an exit status\n" | 1330 | "\t-s\tprint nothing, only return an exit status" |
1334 | #endif | 1331 | #endif |
1335 | ; | 1332 | ; |
1336 | #endif | 1333 | #endif |
1337 | 1334 | ||
1338 | #if defined BB_UMOUNT | 1335 | #if defined BB_UMOUNT |
1339 | const char umount_usage[] = | 1336 | const char umount_usage[] = |
1340 | "umount [flags] filesystem|directory\n" | 1337 | "umount [flags] filesystem|directory" |
1341 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1338 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1342 | "Unmount file systems\n" | 1339 | "\nUnmount file systems\n" |
1343 | "\nFlags:\n" "\t-a:\tUnmount all file systems" | 1340 | "\nFlags:\n" "\t-a:\tUnmount all file systems" |
1344 | #ifdef BB_MTAB | 1341 | #ifdef BB_MTAB |
1345 | " in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n" | 1342 | " in /etc/mtab\n\t-n:\tDon't erase /etc/mtab entries\n" |
1346 | #else | 1343 | #else |
1347 | "\n" | 1344 | "\n" |
1348 | #endif | 1345 | #endif |
1349 | "\t-r:\tTry to remount devices as read-only if mount is busy\n" | 1346 | "\t-r:\tTry to remount devices as read-only if mount is busy" |
1350 | #if defined BB_FEATURE_MOUNT_FORCE | 1347 | #if defined BB_FEATURE_MOUNT_FORCE |
1351 | "\t-f:\tForce filesystem umount (i.e. unreachable NFS server)\n" | 1348 | "\n\t-f:\tForce filesystem umount (i.e. unreachable NFS server)" |
1352 | #endif | 1349 | #endif |
1353 | #if defined BB_FEATURE_MOUNT_LOOP | 1350 | #if defined BB_FEATURE_MOUNT_LOOP |
1354 | "\t-l:\tDo not free loop device (if a loop device has been used)\n" | 1351 | "\n\t-l:\tDo not free loop device (if a loop device has been used)" |
1355 | #endif | 1352 | #endif |
1356 | #endif | 1353 | #endif |
1357 | ; | 1354 | ; |
@@ -1359,9 +1356,9 @@ const char umount_usage[] = | |||
1359 | 1356 | ||
1360 | #if defined BB_UNAME | 1357 | #if defined BB_UNAME |
1361 | const char uname_usage[] = | 1358 | const char uname_usage[] = |
1362 | "uname [OPTION]...\n" | 1359 | "uname [OPTION]..." |
1363 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1360 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1364 | "\nPrint certain system information. With no OPTION, same as -s.\n\n" | 1361 | "\n\nPrint certain system information. With no OPTION, same as -s.\n\n" |
1365 | "Options:\n" | 1362 | "Options:\n" |
1366 | "\t-a\tprint all information\n" | 1363 | "\t-a\tprint all information\n" |
1367 | "\t-m\tthe machine (hardware) type\n" | 1364 | "\t-m\tthe machine (hardware) type\n" |
@@ -1370,145 +1367,145 @@ const char uname_usage[] = | |||
1370 | "\t-s\tprint the operating system name\n" | 1367 | "\t-s\tprint the operating system name\n" |
1371 | 1368 | ||
1372 | "\t-p\tprint the host processor type\n" | 1369 | "\t-p\tprint the host processor type\n" |
1373 | "\t-v\tprint the operating system version\n" | 1370 | "\t-v\tprint the operating system version" |
1374 | #endif | 1371 | #endif |
1375 | ; | 1372 | ; |
1376 | #endif | 1373 | #endif |
1377 | 1374 | ||
1378 | #if defined BB_UNIQ | 1375 | #if defined BB_UNIQ |
1379 | const char uniq_usage[] = | 1376 | const char uniq_usage[] = |
1380 | "uniq [OPTION]... [INPUT [OUTPUT]]\n" | 1377 | "uniq [OPTION]... [INPUT [OUTPUT]]" |
1381 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1378 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1382 | "\nDiscard all but one of successive identical lines from INPUT\n" | 1379 | "\n\nDiscard all but one of successive identical lines from INPUT\n" |
1383 | "(or standard input), writing to OUTPUT (or standard output).\n" | 1380 | "(or standard input), writing to OUTPUT (or standard output).\n" |
1384 | "Options:\n" | 1381 | "Options:\n" |
1385 | "\t-c\tprefix lines by the number of occurrences\n" | 1382 | "\t-c\tprefix lines by the number of occurrences\n" |
1386 | "\t-d\tonly print duplicate lines\n" | 1383 | "\t-d\tonly print duplicate lines\n" |
1387 | "\t-u\tonly print unique lines\n" | 1384 | "\t-u\tonly print unique lines" |
1388 | #endif | 1385 | #endif |
1389 | ; | 1386 | ; |
1390 | #endif | 1387 | #endif |
1391 | 1388 | ||
1392 | #if defined BB_UNIX2DOS | 1389 | #if defined BB_UNIX2DOS |
1393 | const char unix2dos_usage[] = | 1390 | const char unix2dos_usage[] = |
1394 | "unix2dos < unixfile > dosfile\n" | 1391 | "unix2dos < unixfile > dosfile" |
1395 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1392 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1396 | "\nConverts a text file from unix format to dos format.\n" | 1393 | "\n\nConverts a text file from unix format to dos format." |
1397 | #endif | 1394 | #endif |
1398 | ; | 1395 | ; |
1399 | #endif | 1396 | #endif |
1400 | 1397 | ||
1401 | #if defined BB_UPDATE | 1398 | #if defined BB_UPDATE |
1402 | const char update_usage[] = | 1399 | const char update_usage[] = |
1403 | "update [options]\n" | 1400 | "update [options]" |
1404 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1401 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1405 | "\nPeriodically flushes filesystem buffers.\n\n" | 1402 | "\n\nPeriodically flushes filesystem buffers.\n\n" |
1406 | "Options:\n" | 1403 | "Options:\n" |
1407 | "\t-S\tforce use of sync(2) instead of flushing\n" | 1404 | "\t-S\tforce use of sync(2) instead of flushing\n" |
1408 | "\t-s SECS\tcall sync this often (default 30)\n" | 1405 | "\t-s SECS\tcall sync this often (default 30)\n" |
1409 | "\t-f SECS\tflush some buffers this often (default 5)\n" | 1406 | "\t-f SECS\tflush some buffers this often (default 5)" |
1410 | #endif | 1407 | #endif |
1411 | ; | 1408 | ; |
1412 | #endif | 1409 | #endif |
1413 | 1410 | ||
1414 | #if defined BB_UPTIME | 1411 | #if defined BB_UPTIME |
1415 | const char uptime_usage[] = | 1412 | const char uptime_usage[] = |
1416 | "uptime\n" | 1413 | "uptime" |
1417 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1414 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1418 | "\nDisplay the time since the last boot.\n" | 1415 | "\n\nDisplay the time since the last boot." |
1419 | #endif | 1416 | #endif |
1420 | ; | 1417 | ; |
1421 | #endif | 1418 | #endif |
1422 | 1419 | ||
1423 | #if defined BB_USLEEP | 1420 | #if defined BB_USLEEP |
1424 | const char usleep_usage[] = | 1421 | const char usleep_usage[] = |
1425 | "usleep N\n" | 1422 | "usleep N" |
1426 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1423 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1427 | "\nPause for N microseconds.\n" | 1424 | "\n\nPause for N microseconds." |
1428 | #endif | 1425 | #endif |
1429 | ; | 1426 | ; |
1430 | #endif | 1427 | #endif |
1431 | 1428 | ||
1432 | #if defined BB_UUDECODE | 1429 | #if defined BB_UUDECODE |
1433 | const char uudecode_usage[] = | 1430 | const char uudecode_usage[] = |
1434 | "uudecode [FILE]...\n" | 1431 | "uudecode [FILE]..." |
1435 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1432 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1436 | "\nUudecode a file that is uuencoded.\n\n" | 1433 | "\n\nUudecode a file that is uuencoded.\n\n" |
1437 | "Options:\n" | 1434 | "Options:\n" |
1438 | "\t-o FILE\tdirect output to FILE\n" | 1435 | "\t-o FILE\tdirect output to FILE" |
1439 | #endif | 1436 | #endif |
1440 | ; | 1437 | ; |
1441 | #endif | 1438 | #endif |
1442 | 1439 | ||
1443 | #if defined BB_UUENCODE | 1440 | #if defined BB_UUENCODE |
1444 | const char uuencode_usage[] = | 1441 | const char uuencode_usage[] = |
1445 | "uuencode [OPTION] [INFILE] REMOTEFILE\n" | 1442 | "uuencode [OPTION] [INFILE] REMOTEFILE" |
1446 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1443 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1447 | "\nUuencode a file.\n\n" | 1444 | "\n\nUuencode a file.\n\n" |
1448 | "Options:\n" | 1445 | "Options:\n" |
1449 | "\t-m\tuse base64 encoding as of RFC1521\n" | 1446 | "\t-m\tuse base64 encoding as of RFC1521" |
1450 | #endif | 1447 | #endif |
1451 | ; | 1448 | ; |
1452 | #endif | 1449 | #endif |
1453 | 1450 | ||
1454 | #if defined BB_WC | 1451 | #if defined BB_WC |
1455 | const char wc_usage[] = | 1452 | const char wc_usage[] = |
1456 | "wc [OPTION]... [FILE]...\n" | 1453 | "wc [OPTION]... [FILE]..." |
1457 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1454 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1458 | "\nPrint line, word, and byte counts for each FILE, and a total line if\n" | 1455 | "\n\nPrint line, word, and byte counts for each FILE, and a total line if\n" |
1459 | "more than one FILE is specified. With no FILE, read standard input.\n\n" | 1456 | "more than one FILE is specified. With no FILE, read standard input.\n\n" |
1460 | "Options:\n" | 1457 | "Options:\n" |
1461 | "\t-c\tprint the byte counts\n" | 1458 | "\t-c\tprint the byte counts\n" |
1462 | "\t-l\tprint the newline counts\n" | 1459 | "\t-l\tprint the newline counts\n" |
1463 | 1460 | ||
1464 | "\t-L\tprint the length of the longest line\n" | 1461 | "\t-L\tprint the length of the longest line\n" |
1465 | "\t-w\tprint the word counts\n" | 1462 | "\t-w\tprint the word counts" |
1466 | #endif | 1463 | #endif |
1467 | ; | 1464 | ; |
1468 | #endif | 1465 | #endif |
1469 | 1466 | ||
1470 | #if defined BB_WGET | 1467 | #if defined BB_WGET |
1471 | const char wget_usage[] = "wget [-c] [-O file] url\n" | 1468 | const char wget_usage[] = "wget [-c] [-O file] url" |
1472 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1469 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1473 | "\nwget retrieves files via HTTP\n\n" | 1470 | "\n\nwget retrieves files via HTTP\n\n" |
1474 | "Options:\n" | 1471 | "Options:\n" |
1475 | "\t-c\tcontinue retrieval of aborted transfers\n" | 1472 | "\t-c\tcontinue retrieval of aborted transfers\n" |
1476 | "\t-O\tsave to filename ('-' for stdout)\n" | 1473 | "\t-O\tsave to filename ('-' for stdout)" |
1477 | #endif | 1474 | #endif |
1478 | ; | 1475 | ; |
1479 | #endif | 1476 | #endif |
1480 | 1477 | ||
1481 | #if defined BB_WHICH | 1478 | #if defined BB_WHICH |
1482 | const char which_usage[] = | 1479 | const char which_usage[] = |
1483 | "which [COMMAND ...]\n" | 1480 | "which [COMMAND ...]" |
1484 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1481 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1485 | "\nLocates a COMMAND.\n" | 1482 | "\n\nLocates a COMMAND." |
1486 | #endif | 1483 | #endif |
1487 | ; | 1484 | ; |
1488 | #endif | 1485 | #endif |
1489 | 1486 | ||
1490 | #if defined BB_WHOAMI | 1487 | #if defined BB_WHOAMI |
1491 | const char whoami_usage[] = | 1488 | const char whoami_usage[] = |
1492 | "whoami\n" | 1489 | "whoami" |
1493 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1490 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1494 | "\nPrints the user name associated with the current effective user id.\n" | 1491 | "\n\nPrints the user name associated with the current effective user id." |
1495 | #endif | 1492 | #endif |
1496 | ; | 1493 | ; |
1497 | #endif | 1494 | #endif |
1498 | 1495 | ||
1499 | #if defined BB_XARGS | 1496 | #if defined BB_XARGS |
1500 | const char xargs_usage[] = "xargs [COMMAND] [ARGS...]\n" | 1497 | const char xargs_usage[] = "xargs [COMMAND] [ARGS...]" |
1501 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1498 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1502 | "\nExecutes COMMAND on every item given by standard input.\n" | 1499 | "\n\nExecutes COMMAND on every item given by standard input." |
1503 | #endif | 1500 | #endif |
1504 | ; | 1501 | ; |
1505 | #endif | 1502 | #endif |
1506 | 1503 | ||
1507 | #if defined BB_YES | 1504 | #if defined BB_YES |
1508 | const char yes_usage[] = | 1505 | const char yes_usage[] = |
1509 | "yes [OPTION]... [STRING]...\n" | 1506 | "yes [OPTION]... [STRING]..." |
1510 | #ifndef BB_FEATURE_TRIVIAL_HELP | 1507 | #ifndef BB_FEATURE_TRIVIAL_HELP |
1511 | "\nRepeatedly outputs a line with all specified STRING(s), or `y'.\n" | 1508 | "\n\nRepeatedly outputs a line with all specified STRING(s), or `y'." |
1512 | #endif | 1509 | #endif |
1513 | ; | 1510 | ; |
1514 | #endif | 1511 | #endif |