Un outil pour savoir si une commande est posix - retour accueil
Anonyme, en lecture seule : git clone git://bebou.netlib.re/isposix
Authentifié·e, en écriture : git clone ssh://git@bebou.netlib.re:1459/srv/git/isposix
Log | Files | Refs | README | zip | tar.gz |
| Mode | Name | Size |
| -rw-r--r-- | .gitignore | 3L |
| -rw-r--r-- | README | 59L |
| -rw-r--r-- | bdd/admin.html | 365L |
| -rw-r--r-- | bdd/alias.html | 282L |
| -rw-r--r-- | bdd/all.html | 329L |
| -rw-r--r-- | bdd/ar.html | 504L |
| -rw-r--r-- | bdd/asa.html | 228L |
| -rw-r--r-- | bdd/at.html | 575L |
| -rw-r--r-- | bdd/awk.html | 2483L |
| -rw-r--r-- | bdd/basename.html | 262L |
| -rw-r--r-- | bdd/batch.html | 262L |
| -rw-r--r-- | bdd/bc.html | 974L |
| -rw-r--r-- | bdd/bg.html | 242L |
| -rw-r--r-- | bdd/c17.html | 1041L |
| -rw-r--r-- | bdd/cal.html | 203L |
| -rw-r--r-- | bdd/cat.html | 271L |
| -rw-r--r-- | bdd/cd.html | 418L |
| -rw-r--r-- | bdd/cflow.html | 265L |
| -rw-r--r-- | bdd/chgrp.html | 246L |
| -rw-r--r-- | bdd/chmod.html | 556L |
| -rw-r--r-- | bdd/chown.html | 277L |
| -rw-r--r-- | bdd/cksum.html | 344L |
| -rw-r--r-- | bdd/cmp.html | 266L |
| -rw-r--r-- | bdd/comm.html | 275L |
| -rw-r--r-- | bdd/command.html | 457L |
| -rw-r--r-- | bdd/compress.html | 627L |
| -rw-r--r-- | bdd/cp.html | 515L |
| -rw-r--r-- | bdd/crontab.html | 321L |
| -rw-r--r-- | bdd/csplit.html | 280L |
| -rw-r--r-- | bdd/ctags.html | 354L |
| -rw-r--r-- | bdd/cut.html | 319L |
| -rw-r--r-- | bdd/cxref.html | 233L |
| -rw-r--r-- | bdd/date.html | 364L |
| -rw-r--r-- | bdd/dd.html | 480L |
| -rw-r--r-- | bdd/delta.html | 317L |
| -rw-r--r-- | bdd/df.html | 300L |
| -rw-r--r-- | bdd/diff.html | 546L |
| -rw-r--r-- | bdd/dirname.html | 228L |
| -rw-r--r-- | bdd/du.html | 267L |
| -rw-r--r-- | bdd/echo.html | 285L |
| -rw-r--r-- | bdd/ed.html | 1503L |
| -rw-r--r-- | bdd/env.html | 277L |
| -rw-r--r-- | bdd/ex.html | 3808L |
| -rw-r--r-- | bdd/expand.html | 221L |
| -rw-r--r-- | bdd/expr.html | 453L |
| -rw-r--r-- | bdd/false.html | 143L |
| -rw-r--r-- | bdd/fc.html | 378L |
| -rw-r--r-- | bdd/fg.html | 208L |
| -rw-r--r-- | bdd/file.html | 689L |
| -rw-r--r-- | bdd/find.html | 700L |
| -rw-r--r-- | bdd/fold.html | 248L |
| -rw-r--r-- | bdd/fuser.html | 277L |
| -rw-r--r-- | bdd/gencat.html | 343L |
| -rw-r--r-- | bdd/get.html | 801L |
| -rw-r--r-- | bdd/getconf.html | 365L |
| -rw-r--r-- | bdd/getopts.html | 351L |
| -rw-r--r-- | bdd/gettext.html | 439L |
| -rw-r--r-- | bdd/grep.html | 371L |
| -rw-r--r-- | bdd/hash.html | 228L |
| -rw-r--r-- | bdd/head.html | 242L |
| -rw-r--r-- | bdd/iconv.html | 264L |
| -rw-r--r-- | bdd/id.html | 276L |
| -rw-r--r-- | bdd/ipcrm.html | 201L |
| -rw-r--r-- | bdd/ipcs.html | 448L |
| -rw-r--r-- | bdd/jobs.html | 326L |
| -rw-r--r-- | bdd/join.html | 351L |
| -rw-r--r-- | bdd/kill.html | 373L |
| -rw-r--r-- | bdd/lex.html | 860L |
| -rw-r--r-- | bdd/link.html | 182L |
| -rw-r--r-- | bdd/ln.html | 343L |
| -rw-r--r-- | bdd/locale.html | 388L |
| -rw-r--r-- | bdd/localedef.html | 316L |
| -rw-r--r-- | bdd/logger.html | 266L |
| -rw-r--r-- | bdd/logname.html | 173L |
| -rw-r--r-- | bdd/lp.html | 355L |
| -rw-r--r-- | bdd/ls.html | 700L |
| -rw-r--r-- | bdd/m4.html | 635L |
| -rw-r--r-- | bdd/mailx.html | 1654L |
| -rw-r--r-- | bdd/make.html | 1806L |
| -rw-r--r-- | bdd/man.html | 266L |
| -rw-r--r-- | bdd/mesg.html | 207L |
| -rw-r--r-- | bdd/mkdir.html | 258L |
| -rw-r--r-- | bdd/mkfifo.html | 215L |
| -rw-r--r-- | bdd/more.html | 830L |
| -rw-r--r-- | bdd/msgfmt.html | 447L |
| -rw-r--r-- | bdd/mv.html | 385L |
| -rw-r--r-- | bdd/newgrp.html | 280L |
| -rw-r--r-- | bdd/ngettext.html | 439L |
| -rw-r--r-- | bdd/nice.html | 265L |
| -rw-r--r-- | bdd/nl.html | 315L |
| -rw-r--r-- | bdd/nm.html | 363L |
| -rw-r--r-- | bdd/nohup.html | 248L |
| -rw-r--r-- | bdd/od.html | 760L |
| -rw-r--r-- | bdd/paste.html | 288L |
| -rw-r--r-- | bdd/patch.html | 447L |
| -rw-r--r-- | bdd/pathchk.html | 360L |
| -rw-r--r-- | bdd/pax.html | 2739L |
| -rw-r--r-- | bdd/pr.html | 402L |
| -rw-r--r-- | bdd/printf.html | 675L |
| -rw-r--r-- | bdd/prs.html | 1216L |
| -rw-r--r-- | bdd/ps.html | 718L |
| -rw-r--r-- | bdd/pwd.html | 220L |
| -rw-r--r-- | bdd/read.html | 323L |
| -rw-r--r-- | bdd/readlink.html | 186L |
| -rw-r--r-- | bdd/realpath.html | 239L |
| -rw-r--r-- | bdd/renice.html | 269L |
| -rw-r--r-- | bdd/rm.html | 374L |
| -rw-r--r-- | bdd/rmdel.html | 214L |
| -rw-r--r-- | bdd/rmdir.html | 213L |
| -rw-r--r-- | bdd/sact.html | 211L |
| -rw-r--r-- | bdd/sccs.html | 347L |
| -rw-r--r-- | bdd/sed.html | 662L |
| -rw-r--r-- | bdd/sh.html | 1012L |
| -rw-r--r-- | bdd/sleep.html | 206L |
| -rw-r--r-- | bdd/sort.html | 503L |
| -rw-r--r-- | bdd/split.html | 270L |
| -rw-r--r-- | bdd/strings.html | 244L |
| -rw-r--r-- | bdd/strip.html | 200L |
| -rw-r--r-- | bdd/stty.html | 938L |
| -rw-r--r-- | bdd/tabs.html | 284L |
| -rw-r--r-- | bdd/tail.html | 320L |
| -rw-r--r-- | bdd/talk.html | 277L |
| -rw-r--r-- | bdd/tee.html | 218L |
| -rw-r--r-- | bdd/test.html | 584L |
| -rw-r--r-- | bdd/time.html | 329L |
| -rw-r--r-- | bdd/timeout.html | 319L |
| -rw-r--r-- | bdd/touch.html | 451L |
| -rw-r--r-- | bdd/tput.html | 247L |
| -rw-r--r-- | bdd/tr.html | 442L |
| -rw-r--r-- | bdd/true.html | 175L |
| -rw-r--r-- | bdd/tsort.html | 226L |
| -rw-r--r-- | bdd/tty.html | 195L |
| -rw-r--r-- | bdd/type.html | 194L |
| -rw-r--r-- | bdd/ulimit.html | 317L |
| -rw-r--r-- | bdd/umask.html | 286L |
| -rw-r--r-- | bdd/unalias.html | 206L |
| -rw-r--r-- | bdd/uname.html | 215L |
| -rw-r--r-- | bdd/uncompress.html | 627L |
| -rw-r--r-- | bdd/unexpand.html | 227L |
| -rw-r--r-- | bdd/unget.html | 218L |
| -rw-r--r-- | bdd/uniq.html | 306L |
| -rw-r--r-- | bdd/unlink.html | 175L |
| -rw-r--r-- | bdd/uucp.html | 284L |
| -rw-r--r-- | bdd/uudecode.html | 239L |
| -rw-r--r-- | bdd/uuencode.html | 944L |
| -rw-r--r-- | bdd/uustat.html | 214L |
| -rw-r--r-- | bdd/uux.html | 285L |
| -rw-r--r-- | bdd/val.html | 333L |
| -rw-r--r-- | bdd/vi.html | 3314L |
| -rw-r--r-- | bdd/wait.html | 304L |
| -rw-r--r-- | bdd/wc.html | 239L |
| -rw-r--r-- | bdd/what.html | 229L |
| -rw-r--r-- | bdd/who.html | 317L |
| -rw-r--r-- | bdd/write.html | 248L |
| -rw-r--r-- | bdd/xargs.html | 479L |
| -rw-r--r-- | bdd/xgettext.html | 315L |
| -rw-r--r-- | bdd/yacc.html | 962L |
| -rw-r--r-- | bdd/zcat.html | 627L |
| -rwxr-xr-x | isposix.sh | 67L |
| -rw-r--r-- | makefile | 19L |
| -rwxr-xr-x | posix.sh | 15L |
| -rwxr-xr-x | tests | 42L |
README (1380B)
1 # isposix (et autres outils)
2
3 Ce dépôt contient des outils pour aider au diagnostic de la posixitude d'un
4 script shell
5
6 ## isposix
7
8 Renvoie vrai si une commande et ses options existent dans la norme posix.
9
10 **Attention**, le fait qu'`isposix` renvoie vrai ne veut pas dire que l'usage
11 de la commande est correcte ou même qu'elle s'exécutera tout court. Tout ce
12 qu'il fait est de vérifier que la commande existe dans la liste des commandes
13 posix et que les options associées sont renseignées dans la spec.
14
15 ### Usage
16
17 isposix [-c]
18
19 Mettre dans stdin les commandes que l'on veut analyser sans leurs arguments.
20 Affiche dans stderr le résultat.
21
22 $ echo "ls -la" | isposix
23 ls -l -a | is posix
24 $ echo "ls -lha" | isposix
25 ls -l -h -a | not posix
26 $ <<. isposix
27 ls -la
28 ls -lha
29 .
30 ls -l -a | is posix
31 ls -l -h -a | not posix
32 $ echo "ls -lha" | isposix 2>/dev/null && echo "Portable" || echo "Pas portable"
33 Pas portable
34
35 ## posix
36
37
38 Ouvre la page de manuel posix d'une commande spécifiée. Puisque les pages sont
39 en html, utilise la variable d'environnement `$BROWSER` pour savoir avec quel
40 navigateur l'ouvrir. Sinon par défaut c'est `w3m`.
41
42 ### Usage
43
44 posix [-o] command
45
46 $ posix ls
47 $ posix -o xargs
48 -E
49 -I
50 -L
51 -n
52 -p
53 -r
54 -s
55 -t
56 -x
57 -0
58 & posix -o xargs | grep -q -- -n && echo "-n d'xargs est posix" || echo "-n d'xargs n'est pas posix"
59 -n d'xargs est posix