Sujet : Re: Which shell and how to get started handling arguments
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.unix.shellDate : 15. Apr 2024, 22:31:38
Autres entêtes
Organisation : None to speak of
Message-ID : <8734rms479.fsf@nosuchdomain.example.com>
References : 1 2
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
Lew Pitcher <
lew.pitcher@digitalfreehold.ca> writes:
On Mon, 15 Apr 2024 13:22:14 +0100, James Harris wrote:
For someone who is relatively new to Unix shell scripting (me) some
advice would be more than welcome on where to begin.
I have two main queries:
Q1) How can one write a script which is maximally compatible with
different systems?
>
As others have said, write your script to the POSIX shell language
standards. (see
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html)
>
Most shells support this restricted dialect.
Bash has an option that tells it to (attempt to) restrict itself to
POSIX semantics:
Starting Bash with the '--posix' command-line option or executing
'set -o posix' while Bash is running will cause Bash to conform more
closely to the POSIX standard by changing the behavior to match that
specified by POSIX in areas where the Bash default differs.
I haven't used this option myself, and I don't know just how closely it
actually conforms to POSIX.
I'm less familiar with ksh and zsh, but they probably have similar
options. At least the "MirBSD Korn shell" has "set -o posix".
-- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.comWorking, but not speaking, for Medtronicvoid Void(void) { Void(); } /* The recursive call of the void */