tldr-pages/tldr

SUS/POSIX compliance tracking issue

Open

#9.612 geöffnet am 10. Dez. 2022

Auf GitHub ansehen
 (0 Kommentare) (4 Reaktionen) (0 zugewiesene Personen)Shell (2.507 Forks)batch import
help wantedmass changesnew commandpage edit

Repository-Metriken

Stars
 (30.937 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 7T 5h) (321 gemergte PRs in 30 T)

Beschreibung

The Open Group's POSIX.2, a part of the Single UNIX Specification, is the standard for the base shell environment that we seek to document in common. However, there are some commands which don't have a common tldr page yet:

  • admin
  • asa
  • cal → #12172
  • cflow
  • compress
  • csplit
  • cxref
  • fort77
  • fuser
  • gencat
  • get
  • getconf
  • getopts
  • hash
  • ipcrm
  • locale
  • localedef
  • newgrp
  • prs
  • qalter
  • qdel
  • qhold
  • qmove
  • qmsg
  • qrerun
  • qrls
  • qselect
  • qsig
  • qstat
  • qsub
  • rmdel
  • sact
  • sccs
  • strip
  • tabs
  • talk
  • uncompress
  • unget
  • uucp
  • uustat
  • uux
  • val
  • what
  • yacc

Also, there are many pages in common with unportable flags, so let's manually check them one-by-one, it's not that many:

  • alias (the more information is questionable; we should replace the unalias example with a See also)
  • ar
  • at (-l and -m might be considerations to be added)
  • awk (let's add -f and possibly -v)
  • basename (last example sucks)
  • batch (-f doesn't exist)
  • bc (full of wrong crap, only -l exists)
  • bg (i don't get why it has a % in there)
  • c99 (doesn't conform to path/to/, etc.; could have more options in there)
  • cat (only -u exists) → #9623
  • cd (could add -L, -P)
  • chgrp (--reference doesn't exist)
  • chmod (we should really consider including an octal example, the description is really complicated and i'm not sure whether , and X exist)
  • chown (--reference doesn't exist)
  • cksum ("Note, on old UNIX systems the CRC implementation may differ"? It's clearly defined)
  • cmp (long options do not exist, -l and -s do)
  • comm (path/to/ missing, i'm not sure if everything works like that, but it looks somewhat fine)
  • command (let's add -V and -p)
  • cp (-v doesn't exist, -L only exists if -R is also given)
  • crontab (-u doesn't exist, also wtf is crontab.guru)
  • ctags (will have to look into this, for posix long options don't exist, -a, -f and -x do)
  • cut (long options do not exist)
  • date (only -u and some +% things exist)
  • dd (status=progress does not exist) → #9624, #9816
  • delta (name collision)
  • df (only -k, -P and -t exist) → #11870
  • diff (long options do not exist)
  • dirname (--zero doesn't exist)
  • du (only -aHkLsx exist)
  • echo (May I quote: "Implementations shall not support any options.", -n exists in XSI)
  • ed (THERE ARE NO LONG OPTIONS, -p and -s exist)
  • env (-u is not real)
  • ex (it is not vim)
  • expand (only -t exists)
  • expr (it looks like half our examples aren't valid expressions)
  • false (IT IS NON-ZERO NOT ONE😭) → #9817
  • fc (WITHOUT THE -l -r DOESNT LIST IT EDITS)
  • fg (same as with bg)
  • file (-dhMmih exist)
  • find (half the operands dont exist)
  • fold (consider a -b example)
  • grep (long options aren't supported on non-GNU platforms)
  • head (LONG OPTIONS 😭😭😭, THERE IS ONLY -n) → #9818
  • iconv (doesn't follow path/to/ convention)
  • id (consider including more, -Ggnru are supported)
  • ipcs
  • jobs (still not sure about %)
  • join (doesn't follow path/to/ and ellipsis syntax and could use more options (-aveot12))
  • kill (%) → #12044
  • lex (long options aren't supported on non-GNU platforms, there is no -o, only -ntv) → #10001
  • link
  • ln
  • logger
  • logname
  • lp
  • ls
  • m4
  • mailx
  • make
  • man
  • mesg
  • mkdir
  • mkfifo
  • more → #12171
  • mv
  • nice
  • nl (-t is fake; the page is in general kinda crappy imo)
  • nm
  • nohup
  • od
  • paste
  • patch
  • pathchk
  • pax
  • pr
  • printf
  • ps
  • pwd
  • read
  • renice
  • rm
  • rmdir
  • sed → #9609
  • sh
  • sleep
  • sort
  • split
  • strings
  • stty
  • tail
  • tee
  • test
  • time
  • touch
  • tput
  • tr
  • true
  • tsort
  • tty
  • type
  • ulimit
  • umask
  • unalias
  • uname
  • unexpand
  • uniq (maybe -f and -s should be mentioned?)
  • unlink
  • uudecode
  • uuencode
  • vi
  • wait
  • wc
  • who
  • write
  • xargs
  • zcat

Of course, you can do, whatever you want to, as long as you can find approving reviewers, but I would suggest to us all the following rules:

  • Do not work on this issue if you do not have access to a current version of the spec, you can get it for free from The Open Group/Austin Group, even though it's as hard as they can physically make it.

  • Do check against the standard before making any changes, either opening/merging a PR or to the lists above.

  • Also, let's replace all links to GNU documentation with something more sensible that is yet to be found. (maybe 1p man pages? or https://pubs.opengroup.org/onlinepubs/9699919799/utilities/false.html)

Contributor Guide