tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: sh(1): POSIX "Command Search and Execution"
Date: Sun, 22 Sep 2024 09:09:06 +0200
From: tlaronde%kergis.com@localhost
Message-ID: <Zu_Cknt2-c_T29yZ%kergis.com@localhost>
| (whether your test about the first two chars, or the more restricting
| but simplest first an alphanumeric),
On that point, my reasoning is that I can imaging having 2 sets of
(some perhaps) of the utilities, a basic set, and an enhanced set,
living in sub-directories (of say, /usr/bin). One of those would
be in PATH as the default to use, but sometimes a user might want
to use the other version as a test of something.
Those could be named basic/ls basic/cat ... and enhanced/ls enhanced/cat
(etc), but that would then be a lot to type, so if it were me, the
subdir names would be '-' and '+', so I might have /usr/bin/+
in PATH, and then simply run
-/cat file ...
to use the basic one. Not allowing non-alphanumerics as the first
char would prohibit that kind of thing.
kre
ps: Of course, one can almost accomplish this with functions...
PATH_TO_BASIC_UTILITIES=/usr/bin/-
PATH_TO_ENHANCED_UTILITIES=/usr/bin/+
-() { ${PATH_TO_BASIC_UTILITIES}/"$@" ; }
+() { ${PATH_TO_ENHANCED_UTILITIES}/"$@" ; }
and then use them as
- cat ...
+ ls
instead of
-/cat ...
+/ls
and in that the "cat" part *is* allowed to have '/' in its name.
And if this wouldn't be good enough, then you also need to be
concerned with how functions like execlp() etc work. What you're
proposing isn't really just a small(ish) change to sh, everything
that does path searches needs to understand it (system(3) ...).
Home |
Main Index |
Thread Index |
Old Index