diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/cd.html | 60 | ||||
| -rw-r--r-- | doc/execline-cd.html | 55 | ||||
| -rw-r--r-- | doc/execline-umask.html | 51 | ||||
| -rw-r--r-- | doc/index.html | 10 | ||||
| -rw-r--r-- | doc/loopwhilex.html | 10 | ||||
| -rw-r--r-- | doc/posix-cd.html | 66 | ||||
| -rw-r--r-- | doc/posix-umask.html | 74 | ||||
| -rw-r--r-- | doc/umask.html | 61 | ||||
| -rw-r--r-- | doc/upgrade.html | 10 |
9 files changed, 141 insertions, 256 deletions
diff --git a/doc/cd.html b/doc/cd.html new file mode 100644 index 0000000..fbd6687 --- /dev/null +++ b/doc/cd.html @@ -0,0 +1,60 @@ +<html> + <head> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="color-scheme" content="dark light" /> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <title>execline: the cd command</title> + <meta name="Description" content="execline: the cd command" /> + <meta name="Keywords" content="execline command cd chdir cd" /> + <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> +</head> +<body> + +<p> +<a href="index.html">execline</a><br /> +<a href="//skarnet.org/software/">Software</a><br /> +<a href="//skarnet.org/">skarnet.org</a> +</p> + +<h1> The <tt>cd</tt> program </h1> + +<p> +<tt>cd</tt> changes the current working directory to a +given directory, then executes a program. +</p> + +<h2> Interface </h2> + +<pre> + cd <em>dir</em> <em>prog...</em> +</pre> + +<p> +<tt>cd</tt> performs a +<a href="https://pubs.opengroup.org/onlinepubs/9799919799/functions/chdir.html">chdir()</a> +system call on <em>dir</em>, then execs into <em>prog...</em>. +</p> + +<h2> Notes </h2> + +<ul> + <li> This <tt>cd</tt> program will never be invoked by a shell, unless its full path +is explicitly given to the shell command line. So it is perfectly acceptable and valid +to have a <tt>cd</tt> binary in the filesystem. No confusion will be possible: shells +will invoke their builtin +<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/cd.html">cd</a> +utility, and execline scripts will invoke the <tt>cd</tt> binary. </li> + <li> Previous versions of POSIX also required a conformant <tt>cd</tt> binary to exist +in the filesystem, for no reason at all. So, in previous execline versions, +a <tt>posix-cd</tt> binary was present, and <tt>cd</tt> could be installed as a symlink +to it when execline was configured with the <tt>--enable-pedantic-posix</tt> option. +This allowed distributions to make execline binaries, including <tt>cd</tt>, available +in PATH, while strictly conforming to POSIX. This requirement has now been relaxed by +POSIX, so the needlessly complex <tt>posix-cd</tt> program was replaced with this +simpler <tt>cd</tt>, that can now be made available in PATH without breaking strict +conformance. </li> +</ul> + +</body> +</html> diff --git a/doc/execline-cd.html b/doc/execline-cd.html deleted file mode 100644 index 6d55142..0000000 --- a/doc/execline-cd.html +++ /dev/null @@ -1,55 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="color-scheme" content="dark light" /> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <meta http-equiv="Content-Language" content="en" /> - <title>execline: the execline-cd command</title> - <meta name="Description" content="execline: the execline-cd command" /> - <meta name="Keywords" content="execline command cd chdir execline-cd" /> - <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> -</head> -<body> - -<p> -<a href="index.html">execline</a><br /> -<a href="//skarnet.org/software/">Software</a><br /> -<a href="//skarnet.org/">skarnet.org</a> -</p> - -<h1> The <tt>execline-cd</tt> program </h1> - -<p> -<tt>execline-cd</tt> changes the current working directory to a -given directory, then executes a program. -</p> - -<h2> Interface </h2> - -<pre> - execline-cd <em>dir</em> <em>prog...</em> -</pre> - -<p> -<tt>execline-cd</tt> performs a -<a href="https://pubs.opengroup.org/onlinepubs/9799919799/functions/chdir.html">chdir()</a> -system call on <em>dir</em>, then execs into <em>prog...</em>. -</p> - -<h2> Notes </h2> - -<ul> - <li> By default, <tt>execline-cd</tt> can also be invoked as <tt>cd</tt>: -there is a <tt>cd</tt> program which is a symbolic link to <tt>execline-cd</tt>. </li> - <li> When execline has been configured with the <tt>--enable-pedantic-posix</tt> -option, the <tt>cd</tt> binary is a symbolic link to the -<a href="posix-cd.html">posix-cd</a> binary instead, so a <tt>cd</tt> command -in an execline script will invoke <a href="posix-cd.html">posix-cd</a> instead -of <tt>execline-cd</tt>. </li> - <li> Existing scripts that call <tt>cd</tt> will keep working no matter the -chosen configuration. </li> -</ul> - - -</body> -</html> diff --git a/doc/execline-umask.html b/doc/execline-umask.html deleted file mode 100644 index e0aa76f..0000000 --- a/doc/execline-umask.html +++ /dev/null @@ -1,51 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="color-scheme" content="dark light" /> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <meta http-equiv="Content-Language" content="en" /> - <title>execline: the execline-umask command</title> - <meta name="Description" content="execline: the execline-umask command" /> - <meta name="Keywords" content="execline command umask execline-umask" /> - <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> - </head> -<body> - -<p> -<a href="index.html">execline</a><br /> -<a href="//skarnet.org/software/">Software</a><br /> -<a href="//skarnet.org/">skarnet.org</a> -</p> - -<h1> The <tt>execline-umask</tt> program </h1> - -<p> -<tt>execline-umask</tt> sets the umask (file creation mask), -then executes a program. -</p> - -<h2> Interface </h2> - -<pre> - execline-umask <em>mask</em> <em>prog...</em> -</pre> - -<p> -<tt>execline-umask</tt> sets the current umask to <em>mask</em>, -then execs into <em>prog...</em>. -</p> - -<h2> Notes </h2> - -<ul> -<li> By default, at execline installation time, a <tt>umask</tt> -symbolic link is created, pointing to <tt>execline-umask</tt>. - <li> When execline has been configured with the <tt>--enable-pedantic-posix</tt> -option, the <tt>umask</tt> symbolic link points to the -<a href="posix-umask.html">posix-umask</a> binary instead. </li> - <li> Existing execline scripts calling <tt>umask</tt> will keep working -no matter the chosen configuration. </li> -</ul> - -</body> -</html> diff --git a/doc/index.html b/doc/index.html index e57e4af..075fcf9 100644 --- a/doc/index.html +++ b/doc/index.html @@ -78,8 +78,8 @@ want nsswitch-like functionality: <h3> Download </h3> <ul> - <li> The current released version of execline is <a href="execline-2.9.9.2.tar.gz">2.9.9.2</a>. -You can access its checksum <a href="execline-2.9.9.2.tar.gz.sha256">here</a>. </li> + <li> The current released version of execline is <a href="execline-2.10.0.0.tar.gz">2.10.0.0</a>. +You can access its checksum <a href="execline-2.10.0.0.tar.gz.sha256">here</a>. </li> <li> Alternatively, you can checkout a copy of the <a href="//git.skarnet.org/cgit/execline/">execline git repository</a>: @@ -128,10 +128,8 @@ the previous versions of execline and the current one. </li> (Process state control) </p> <ul> -<li><a href="execline-cd.html">The <tt>execline-cd</tt> program</a></li> -<li><a href="posix-cd.html">The <tt>posix-cd</tt> program</a></li> -<li><a href="execline-umask.html">The <tt>execline-umask</tt> program</a></li> -<li><a href="posix-umask.html">The <tt>posix-umask</tt> program</a></li> +<li><a href="cd.html">The <tt>cd</tt> program</a></li> +<li><a href="umask.html">The <tt>umask</tt> program</a></li> <li><a href="emptyenv.html">The <tt>emptyenv</tt> program</a></li> <li><a href="envfile.html">The <tt>envfile</tt> program</a></li> <li><a href="export.html">The <tt>export</tt> program</a></li> diff --git a/doc/loopwhilex.html b/doc/loopwhilex.html index 3fd6f08..860c4d8 100644 --- a/doc/loopwhilex.html +++ b/doc/loopwhilex.html @@ -26,7 +26,7 @@ <h2> Interface </h2> <pre> - loopwhilex [ -n ] [ -o <em>okcodes</em> | -x <em>breakcodes</em> ] <em>prog...</em> + loopwhilex [ -o <em>okcodes</em> | -x <em>breakcodes</em> ] <em>prog...</em> </pre> <ul> @@ -48,9 +48,11 @@ looping as long as <em>prog</em> exits with one of the codes in <li> <tt>-x</tt> <em>breakcodes</em> : like the previous option, but with inverted meaning - the listed exit codes are codes that will break the loop and exit, and the unlisted exit codes will keep -the loop running. </li> - <li> <tt>-n</tt> : negate the test. This option is now redundant, -and may disappear soon. </li> +the loop running. <tt>-x ""</tt> will make <tt>loopwhilex</tt> loop +forever. </li> + <li> If both <tt>-o</tt> and <tt>-x</tt> options are given <tt>-o</tt> +has priority and the list given by <tt>-x</tt> is ignored. If none of +these options is given, <tt>-o 0</tt> is the default. </li> </ul> <h2> Notes </h2> diff --git a/doc/posix-cd.html b/doc/posix-cd.html deleted file mode 100644 index 6419d0a..0000000 --- a/doc/posix-cd.html +++ /dev/null @@ -1,66 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="color-scheme" content="dark light" /> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <meta http-equiv="Content-Language" content="en" /> - <title>execline: the posix-cd command</title> - <meta name="Description" content="execline: the posix-cd command" /> - <meta name="Keywords" content="execline command cd chdir posix posix-cd" /> - <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> -</head> -<body> - -<p> -<a href="index.html">execline</a><br /> -<a href="//skarnet.org/software/">Software</a><br /> -<a href="//skarnet.org/">skarnet.org</a> -</p> - -<h1> The <tt>posix-cd</tt> program </h1> - -<p> -<tt>posix-cd</tt> changes the current working directory to a -given directory, then executes a program. -</p> - -<h2> Interface </h2> - -<pre> - posix-cd [ -L | -P ] <em>dir</em> <em>prog...</em> -</pre> - -<p> -<tt>posix-cd</tt> changes the current working directory to <em>dir</em> -according to the -<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/cd.html">POSIX -specification for a <tt>cd</tt> external utility</a>. Then, if <em>prog...</em> is -not empty, it execs into it. -</p> - -<h2> Notes </h2> - -<ul> - <li> When execline has been configured -with the <tt>--enable-pedantic-posix</tt> option, the <tt>cd</tt> -command is a symbolic link to it. So scripts calling <tt>cd</tt> -will use <tt>posix-cd</tt>. When this configuration option has not -been given, <tt>cd</tt> is a symbolic link to -<a href="execline-cd.html">execline-cd</a>. </li> - <li> <tt>posix-cd</tt> fully conforms to the -<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/cd.html">POSIX -specification</a>. When <em>prog...</em> is not empty, the behaviour of a -<tt>cd</tt> utility is not specified by POSIX, so <tt>posix-cd</tt> extends -the spec to be actually useful and usable in an execline program with the same -interface as the regular execline <a href="execline-cd.html">cd</a> command. </li> - <li> Nobody ever executes or needs the external version (i.e. not a shell -builtin) of the POSIX <tt>cd</tt> command. Compared to execline's regular <tt>cd</tt> -binary, <a href="execline-cd.html">execline-cd</a>, <tt>posix-cd</tt> is -uselessly bloated and slow. The only reason it exists is that some -distributions refuse to package execline correctly unless it is strictly -POSIX-compliant; the <tt>--enable-pedantic-posix</tt> configure option is -there to satisfy their requirements. </li> -</ul> - -</body> -</html> diff --git a/doc/posix-umask.html b/doc/posix-umask.html deleted file mode 100644 index f3ab05f..0000000 --- a/doc/posix-umask.html +++ /dev/null @@ -1,74 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="color-scheme" content="dark light" /> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <meta http-equiv="Content-Language" content="en" /> - <title>execline: the posix-umask command</title> - <meta name="Description" content="execline: the posix-umask command" /> - <meta name="Keywords" content="execline command umask mask posix posix-umask" /> - <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> -</head> -<body> - -<p> -<a href="index.html">execline</a><br /> -<a href="//skarnet.org/software/">Software</a><br /> -<a href="//skarnet.org/">skarnet.org</a> -</p> - -<h1> The <tt>posix-umask</tt> program </h1> - -<p> -<tt>posix-umask</tt> changes its file mode creation mask, then executes a program. -</p> - -<h2> Interface </h2> - -<pre> - posix-umask [ -S ] [ <em>mask</em> ] [ <em>prog...</em> ] -</pre> - -<p> -When called with no argument, <tt>posix-umask</tt> prints the value of the -file mode creation mask of the invoking process, then exits 0. -</p> - -<p> - When called with a <em>mask</em> argument, <tt>posix-umask</tt> changes -its file mode creation mask; then, if <em>prog...</em> is not empty, it execs -into it. -</p> - -<p> - <tt>posix-umask</tt> interprets <em>mask</em> as specified by the -<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/umask.html">POSIX -specification for a <tt>umask</tt> external utility</a>. -</p> - -<h2> Notes </h2> - -<ul> - <li> When execline has been configured -with the <tt>--enable-pedantic-posix</tt> option, the <tt>umask</tt> -command is a symbolic link to it. So scripts calling <tt>umask</tt> -will use <tt>posix-umask</tt>. When this configuration option has not -been given, <tt>umask</tt> is a symbolic link to -<a href="execline-umask.html">execline-umask</a>. </li> - <li> <tt>posix-umask</tt> fully conforms to the -<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/umask.html">POSIX -specification</a>. When <em>prog...</em> is not empty, the behaviour of a -<tt>umask</tt> utility is not specified by POSIX, so <tt>posix-umask</tt> extends -the spec to be actually useful and usable in an execline program with the same -interface as the regular execline <a href="execline-umask.html">umask</a> command. </li> - <li> Nobody ever executes or needs the external version (i.e. not a shell -builtin) of the POSIX <tt>umask</tt> command. Compared to execline's regular <tt>umask</tt> -binary, <a href="execline-umask.html">execline-umask</a>, <tt>posix-umask</tt> is -uselessly bloated and slow. The only reason it exists is that some -distributions refuse to package execline correctly unless it is strictly -POSIX-compliant; the <tt>--enable-pedantic-posix</tt> configure option is -there to satisfy their requirements. </li> -</ul> - -</body> -</html> diff --git a/doc/umask.html b/doc/umask.html new file mode 100644 index 0000000..d837130 --- /dev/null +++ b/doc/umask.html @@ -0,0 +1,61 @@ +<html> + <head> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="color-scheme" content="dark light" /> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <title>execline: the umask command</title> + <meta name="Description" content="execline: the umask command" /> + <meta name="Keywords" content="execline command umask mask" /> + <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> +</head> +<body> + +<p> +<a href="index.html">execline</a><br /> +<a href="//skarnet.org/software/">Software</a><br /> +<a href="//skarnet.org/">skarnet.org</a> +</p> + +<h1> The <tt>umask</tt> program </h1> + +<p> +<tt>umask</tt> changes its file mode creation mask, then executes a program. +Alternatively, it can print the current mask. +</p> + +<h2> Interface </h2> + +<pre> + umask [ -S ] [ <em>mask</em> ] [ <em>prog...</em> ] +</pre> + +<p> +When called with no argument, <tt>umask</tt> prints the value of the +file mode creation mask of the invoking process, then exits 0. +</p> + +<p> + When called with a <em>mask</em> argument, <tt>umask</tt> changes +its file mode creation mask; then, if <em>prog...</em> is not empty, it execs +into it. +</p> + +<p> + <tt>umask</tt> interprets <em>mask</em> as specified by the +<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/umask.html">POSIX +specification for a <tt>umask</tt> external utility</a>. +</p> + +<h2> Notes </h2> + +<ul> + <li> <tt>umask</tt> fully conforms to the +<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/umask.html">POSIX +specification</a>. When <em>prog...</em> is not empty, the behaviour of a +<tt>umask</tt> utility is not specified by POSIX, so <tt>umask</tt> extends +the spec to be actually useful and usable in an execline program. </li> +</ul> + +</body> +</html> diff --git a/doc/upgrade.html b/doc/upgrade.html index e814afa..31de4b9 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -19,6 +19,16 @@ <h1> What has changed in execline </h1> +<h2> in 2.10.0.0 </h2> + +<ul> + <li> The <tt>--enable-pedantic-posix</tt> configuration option has +been removed, due to POSIX relaxing requirements on intrinsic utilities. </li> + <li> The <a href="cd.html">cd</a> binary is now what was previously <tt>execline-cd</tt>. </li> + <li> The <a href="umask.html">umask</a> binary is now what was previously <tt>posix-umask</tt>, +(without locale support, not that it had much to start with) </li> +</ul> + <h2> in 2.9.9.2 </h2> <ul> |
