Update POSIX compliance table
Signed-off-by: Max Panasenkov <panmax@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
a99aa6e9c4
commit
145512c634
@ -4,7 +4,7 @@ Busybox POSIX conformance table
|
||||
See POSIX documentation (1003.1-2008) here:
|
||||
http://www.opengroup.org/onlinepubs/9699919799/
|
||||
And the complete list of all utilities that POSIX covers:
|
||||
http://www.opengroup.org/onlinepubs/9699919799/utilities/utilities.html
|
||||
http://www.opengroup.org/onlinepubs/9699919799/idx/utilities.html
|
||||
|
||||
This listing is a work in progress, and currently only covers
|
||||
tool options (not operands, enviroment variables, return codes, etc..).
|
||||
@ -37,7 +37,7 @@ Note: echo, printf, kill, pwd documented here as stand-alone applets,
|
||||
not as ash built-ins.
|
||||
|
||||
|
||||
ar POSIX options
|
||||
ar POSIX options ********************* Failed to recognize zip & tar (did not compare to regular ar)
|
||||
option | exists | compliant | remarks
|
||||
-C | no | no |
|
||||
-T | no | no |
|
||||
@ -93,10 +93,10 @@ chmod POSIX options
|
||||
chmod Busybox specific options:
|
||||
-f, -v, -c
|
||||
|
||||
chown POSIX options
|
||||
chown POSIX options *********************************************
|
||||
option | exists | compliant | remarks
|
||||
-H | yes | |
|
||||
-L | yes | |
|
||||
-H | yes | | It seems like all flags are supported (according to printout), but
|
||||
-L | yes | | it fails to work on my machine
|
||||
-P | yes | |
|
||||
-R | yes | |
|
||||
-h | yes | |
|
||||
@ -115,20 +115,20 @@ cmp Busybox specific options:
|
||||
|
||||
comm POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-1 | yes | |
|
||||
-2 | yes | |
|
||||
-3 | yes | |
|
||||
-1 | yes | yes |
|
||||
-2 | yes | yes |
|
||||
-3 | yes | yes |
|
||||
comm Busybox specific options: None
|
||||
|
||||
cp POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-H | yes | |
|
||||
-L | yes | |
|
||||
-P | yes | |
|
||||
-R | yes | |
|
||||
-f | yes | |
|
||||
-i | yes | |
|
||||
-p | yes | |
|
||||
-H | yes | yes |
|
||||
-L | yes | yes |
|
||||
-P | yes | yes |
|
||||
-R | yes | yes |
|
||||
-f | yes | yes |
|
||||
-i | yes | yes |
|
||||
-p | yes | yes |
|
||||
cp Busybox specific options:
|
||||
-d, -a, -s, -c, -r, -l
|
||||
|
||||
@ -142,12 +142,12 @@ crontab Busybox specific options:
|
||||
|
||||
cut POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-b list | yes | |
|
||||
-c list | yes | |
|
||||
-d delim | yes | |
|
||||
-f list | yes | |
|
||||
-n | yes | |
|
||||
-s | yes | |
|
||||
-b list | yes | yes |
|
||||
-c list | yes | yes |
|
||||
-d delim | yes | yes |
|
||||
-f list | yes | yes |
|
||||
-n | yes | yes |
|
||||
-s | yes | yes |
|
||||
cut Busybox specific options: None
|
||||
|
||||
date POSIX options
|
||||
@ -156,17 +156,40 @@ date POSIX options
|
||||
date Busybox specific options:
|
||||
-I[SPEC], -d TIME, -r FILE, -R, -D FMT
|
||||
|
||||
dd POSIX options: None
|
||||
dd POSIX options:
|
||||
option | exists | compliant | remarks
|
||||
if | yes | |
|
||||
of | yes | |
|
||||
ibs | yes | |
|
||||
obs | yes | |
|
||||
bs | yes | |
|
||||
cbs | no | no |
|
||||
skip | yes | |
|
||||
seek | yes | |
|
||||
count | yes | |
|
||||
conv=ascii | no | no |
|
||||
conv=ebcdic | no | no |
|
||||
conv=ibm | no | no |
|
||||
conv=block | no | no |
|
||||
conv=unblock | no | no |
|
||||
conv=lcase | no | no |
|
||||
conv=ucase | no | no |
|
||||
conv=swap | no | no |
|
||||
conv=noerror | yes | |
|
||||
conv=notrunc | yes | |
|
||||
conv=sync | yes | |
|
||||
dd Busybox specific options:
|
||||
|
||||
conv=fsync
|
||||
|
||||
df POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-P | yes | |
|
||||
-k | yes | |
|
||||
-P | yes | yes |
|
||||
-k | yes | yes |
|
||||
-t | no | no |
|
||||
df Busybox specific options:
|
||||
-a, -m, -B SIZE, -i, -h
|
||||
Remark:
|
||||
- It seems that GNU df doesnt rount percents up in its output (thus its results are a bit different)
|
||||
|
||||
diff POSIX options
|
||||
option | exists | compliant | remarks
|
||||
@ -195,9 +218,12 @@ du POSIX options
|
||||
du Busybox specific options:
|
||||
-c, -m, -h, -d N, -l
|
||||
|
||||
|
||||
echo POSIX options: None
|
||||
option | exists | compliant | remarks
|
||||
-n | yes | yes | The result of -n is "implementation-defined"
|
||||
echo Busybox specific options:
|
||||
-e, -E, -n
|
||||
-e, -E
|
||||
|
||||
ed POSIX options
|
||||
option | exists | compliant | remarks
|
||||
@ -213,13 +239,31 @@ env Busybox specific options:
|
||||
|
||||
expand POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-t tablist | yes | |
|
||||
-t tablist | yes | yes |
|
||||
expand Busybox specific options:
|
||||
--tabs=N, -i, --initial
|
||||
|
||||
expr POSIX options: None
|
||||
expr Busybox specific options:
|
||||
|
||||
expr POSIX operations:
|
||||
option | exists | compliant | remarks
|
||||
| | yes | yes |
|
||||
& | yes | yes |
|
||||
= | yes | yes |
|
||||
> | yes | yes |
|
||||
>= | yes | yes |
|
||||
<= | yes | yes |
|
||||
< | yes | yes |
|
||||
!= | yes | yes |
|
||||
+ | yes | yes |
|
||||
- | yes | yes |
|
||||
* | yes | yes |
|
||||
/ | yes | yes |
|
||||
% | yes | yes |
|
||||
: | yes | yes |
|
||||
(expr) | yes | yes |
|
||||
integer | yes | yes |
|
||||
string | yes | yes |
|
||||
expr Busybox specific operations:
|
||||
match, substr, index, length, quote
|
||||
|
||||
false POSIX options: None
|
||||
false Busybox specific options: None
|
||||
@ -233,9 +277,9 @@ find Busybox specific options:
|
||||
|
||||
fold POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-b | yes | |
|
||||
-s | yes | |
|
||||
-w width | yes | |
|
||||
-b | yes | yes |
|
||||
-s | yes | yes |
|
||||
-w width | yes | yes |
|
||||
fold Busybox specific options: None
|
||||
|
||||
fuser POSIX options
|
||||
@ -271,11 +315,11 @@ head Busybox specific options:
|
||||
|
||||
id POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-G | yes | |
|
||||
-g | yes | |
|
||||
-n | yes | |
|
||||
-r | yes | |
|
||||
-u | yes | |
|
||||
-G | yes | yes |
|
||||
-g | yes | yes |
|
||||
-n | yes | yes |
|
||||
-r | yes | yes |
|
||||
-u | yes | yes |
|
||||
id Busybox specific options:
|
||||
-Z
|
||||
|
||||
@ -317,8 +361,8 @@ ln POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-L | no | no |
|
||||
-P | no | no |
|
||||
-f | yes | |
|
||||
-s | yes | |
|
||||
-f | yes | yes |
|
||||
-s | yes | yes |
|
||||
ln Busybox specific options:
|
||||
-S suf, -n, -b
|
||||
|
||||
@ -331,32 +375,32 @@ logname Busybox specific options: None
|
||||
|
||||
ls POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-1 | yes | |
|
||||
-A | yes | |
|
||||
-C | yes | |
|
||||
-F | yes | |
|
||||
-1 | yes | yes |
|
||||
-A | yes | yes |
|
||||
-C | yes | yes |
|
||||
-F | yes | yes | And more: '=' for sockets (not defined by POSIX)
|
||||
-H | no | no |
|
||||
-L | yes | |
|
||||
-R | yes | |
|
||||
-S | yes | |
|
||||
-a | yes | |
|
||||
-c | yes | |
|
||||
-d | yes | |
|
||||
-L | yes | yes | But coloring may be wrong (at least POSIX does not require correct colors :) )
|
||||
-R | yes | yes |
|
||||
-S | yes | yes |
|
||||
-a | yes | yes |
|
||||
-c | yes | no | Sorts output with '-l' (should only show ctime with '-l', and sort only with '-t')
|
||||
-d | yes | no | When invoked together with '-L' should read symbolic links, and doesn't
|
||||
-f | no | no |
|
||||
-g | no | no |
|
||||
-i | yes | |
|
||||
-k | yes | |
|
||||
-l | yes | |
|
||||
-i | yes | yes |
|
||||
-k | yes | no | Does something completely unrelated! (Lists security context instead of specifying block size)
|
||||
-l | yes | yes |
|
||||
-m | no | no |
|
||||
-n | yes | |
|
||||
-o | no | no |
|
||||
-p | yes | |
|
||||
-n | yes | no | Works correctly only together with '-l' (but POSIX requires '-l' to be implicitly assumed)
|
||||
-o | no | no |
|
||||
-p | yes | yes |
|
||||
-q | no | no |
|
||||
-r | yes | |
|
||||
-s | yes | |
|
||||
-t | yes | |
|
||||
-u | yes | |
|
||||
-x | yes | |
|
||||
-r | yes | yes |
|
||||
-s | yes | yes |
|
||||
-t | yes | yes |
|
||||
-u | yes | yes |
|
||||
-x | yes | yes |
|
||||
ls Busybox specific options:
|
||||
--color, -T NUM, -K, -X, -Z, -e, -h, -v, -w NUM
|
||||
|
||||
@ -372,8 +416,8 @@ mesg Busybox specific options: None
|
||||
|
||||
mkdir POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-m mode | yes | |
|
||||
-p | yes | |
|
||||
-m mode | yes | yes |
|
||||
-p | yes | yes |
|
||||
mkdir Busybox specific options:
|
||||
-Z
|
||||
|
||||
@ -397,13 +441,13 @@ more Busybox specific options: None
|
||||
|
||||
mv POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-f | yes | |
|
||||
-i | yes | |
|
||||
-f | yes | yes |
|
||||
-i | yes | yes |
|
||||
mv Busybox specific options: None
|
||||
|
||||
nice POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-n increment | yes | |
|
||||
-n increment | yes | yes |
|
||||
nice Busybox specific options: None
|
||||
|
||||
nohup POSIX options: None
|
||||
@ -428,16 +472,16 @@ patch POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-D define | no | no |
|
||||
-N | no | no |
|
||||
-R | yes | |
|
||||
-R | yes | yes |
|
||||
-b | no | no |
|
||||
-c | no | no |
|
||||
-d dir | no | no |
|
||||
-e | no | no |
|
||||
-i patchfile | yes | |
|
||||
-i patchfile | yes | yes |
|
||||
-l | no | no |
|
||||
-n | no | no |
|
||||
-o outfile | no | no |
|
||||
-p num | yes | |
|
||||
-p num | yes | yes |
|
||||
-r rejectfile | no | no |
|
||||
-u | no | no |
|
||||
patch Busybox specific options: None
|
||||
@ -471,23 +515,23 @@ pwd Busybox specific options: None
|
||||
|
||||
renice POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-g | yes | |
|
||||
-n increment | yes | |
|
||||
-p | yes | |
|
||||
-u | yes | |
|
||||
-g | yes | yes |
|
||||
-n increment | yes | yes | Note POSIX allows only to run with this option (busybox also allows to run without '-n' and set niceness directly)
|
||||
-p | yes | yes |
|
||||
-u | yes | yes |
|
||||
renice Busybox specific options: None
|
||||
|
||||
rm POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-R | yes | |
|
||||
-f | yes | |
|
||||
-i | yes | |
|
||||
-r | yes | |
|
||||
-R | yes | yes |
|
||||
-f | yes | yes |
|
||||
-i | yes | yes |
|
||||
-r | yes | yes |
|
||||
rm Busybox specific options: None
|
||||
|
||||
rmdir POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-p | yes | |
|
||||
-p | yes | yes |
|
||||
rmdir Busybox specific options:
|
||||
--parents
|
||||
|
||||
@ -512,42 +556,42 @@ sleep Busybox specific options: None
|
||||
sort POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-C | no | no |
|
||||
-b | yes | |
|
||||
-c | yes | |
|
||||
-d | yes | |
|
||||
-f | yes | |
|
||||
-i | yes | |
|
||||
-k keydef | yes | |
|
||||
-b | yes | yes |
|
||||
-c | yes | yes |
|
||||
-d | yes | yes |
|
||||
-f | yes | yes |
|
||||
-i | yes | yes | But is not like GNU sort, which isn't! (try to sort 'a\nA\nB\nb' with and without -f)
|
||||
-k keydef | yes | |
|
||||
-m | no | no |
|
||||
-n | yes | |
|
||||
-o output | yes | |
|
||||
-r | yes | |
|
||||
-n | yes | yes |
|
||||
-o output | yes | yes |
|
||||
-r | yes | yes |
|
||||
-t char | yes | |
|
||||
-u | yes | |
|
||||
-u | yes | yes |
|
||||
sort Busybox specific options:
|
||||
-mST, -g, -M, -s, -z
|
||||
|
||||
split POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a suffix_length | yes | |
|
||||
-b n | yes | |
|
||||
-b nk | yes | |
|
||||
-b nm | yes | |
|
||||
-l line_count | yes | |
|
||||
-a suffix_length | yes | yes |
|
||||
-b n | yes | yes |
|
||||
-b nk | yes | yes |
|
||||
-b nm | yes | yes |
|
||||
-l line_count | yes | yes |
|
||||
split Busybox specific options: None
|
||||
|
||||
strings POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a | yes | |
|
||||
-n number | yes | |
|
||||
-a | yes | yes |
|
||||
-n number | yes | yes |
|
||||
-t format | no | no |
|
||||
strings Busybox specific options:
|
||||
-o, -f
|
||||
|
||||
stty POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a | yes | |
|
||||
-g | yes | |
|
||||
-a | yes | yes |
|
||||
-g | yes | yes |
|
||||
stty Busybox specific options:
|
||||
-F DEVICE
|
||||
|
||||
@ -561,8 +605,8 @@ tail Busybox specific options:
|
||||
|
||||
tee POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a | yes | |
|
||||
-i | yes | |
|
||||
-a | yes | yes |
|
||||
-i | yes | yes |
|
||||
tee Busybox specific options: None
|
||||
|
||||
test POSIX options: None
|
||||
@ -577,7 +621,7 @@ time Busybox specific options:
|
||||
touch POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a | no | no |
|
||||
-c | yes | |
|
||||
-c | yes | yes |
|
||||
-d date_time | no | no |
|
||||
-m | no | no |
|
||||
-r ref_file | no | no |
|
||||
@ -587,9 +631,9 @@ touch Busybox specific options: None
|
||||
tr POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-C | no | no |
|
||||
-c | yes | |
|
||||
-d | yes | |
|
||||
-s | yes | |
|
||||
-c | yes | yes |
|
||||
-d | yes | yes |
|
||||
-s | yes | yes |
|
||||
tr Busybox specific options: None
|
||||
|
||||
true POSIX options: None
|
||||
@ -601,36 +645,36 @@ tty Busybox specific options:
|
||||
|
||||
uname POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a | yes | |
|
||||
-m | yes | |
|
||||
-n | yes | |
|
||||
-r | yes | |
|
||||
-s | yes | |
|
||||
-v | yes | |
|
||||
-a | yes | yes |
|
||||
-m | yes | yes |
|
||||
-n | yes | yes |
|
||||
-r | yes | yes |
|
||||
-s | yes | yes |
|
||||
-v | yes | yes |
|
||||
uname Busybox specific options:
|
||||
-p
|
||||
|
||||
uncompress POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-c | yes | |
|
||||
-f | yes | |
|
||||
-c | yes | yes |
|
||||
-f | yes | yes |
|
||||
-v | no | no |
|
||||
uncompress Busybox specific options: None
|
||||
|
||||
unexpand POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-a | yes | |
|
||||
-t tablist | yes | |
|
||||
-a | yes | no | POSIX requires converting two or more spaces to tabs, busybox converts one or more spaces
|
||||
-t tablist | yes | yes |
|
||||
unexpand Busybox specific options:
|
||||
--tabs=N, -f, --first-only, --all
|
||||
|
||||
uniq POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-c | yes | |
|
||||
-d | yes | |
|
||||
-f fields | yes | |
|
||||
-s chars | yes | |
|
||||
-u | yes | |
|
||||
-c | yes | yes |
|
||||
-d | yes | yes |
|
||||
-f fields | yes | yes |
|
||||
-s chars | yes | yes |
|
||||
-u | yes | yes |
|
||||
uniq Busybox specific options:
|
||||
-w N
|
||||
|
||||
@ -641,7 +685,7 @@ uudecode Busybox specific options: None
|
||||
|
||||
uuencode POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-m | yes | |
|
||||
-m | yes | yes |
|
||||
uuencode Busybox specific options: None
|
||||
|
||||
vi POSIX options
|
||||
@ -656,10 +700,10 @@ vi Busybox specific options:
|
||||
|
||||
wc POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-c | yes | |
|
||||
-l | yes | |
|
||||
-c | yes | yes |
|
||||
-l | yes | yes |
|
||||
-m | no | no |
|
||||
-w | yes | |
|
||||
-w | yes | yes |
|
||||
wc Busybox specific options:
|
||||
-L
|
||||
|
||||
@ -667,7 +711,7 @@ who POSIX options
|
||||
option | exists | compliant | remarks
|
||||
-H | no | no |
|
||||
-T | no | no |
|
||||
-a | yes | |
|
||||
-a | yes | no | just shows all
|
||||
-b | no | no |
|
||||
-d | no | no |
|
||||
-l | no | no |
|
||||
@ -685,11 +729,11 @@ xargs POSIX options
|
||||
-E eofstr | no | no |
|
||||
-I replstr | no | no |
|
||||
-L number | no | no |
|
||||
-n number | yes | |
|
||||
-p | yes | |
|
||||
-s size | yes | |
|
||||
-t | yes | |
|
||||
-x | yes | |
|
||||
-n number | yes | yes |
|
||||
-p | yes | yes |
|
||||
-s size | yes | yes |
|
||||
-t | yes | yes |
|
||||
-x | yes | yes |
|
||||
xargs Busybox specific options:
|
||||
-e[STR], -0, -r
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user