A NOTE has been added to this issue.
==
http://austingroupbugs.net/view.php?id=898
==
Reported By:tedu
Assigned To:ajosey
==
Project:1003.1(2013)/Issue7+TC1
Issue ID: 898
Category: Shell and Utilities
Type: Clarification Requested
Severity: Editorial
Priority: normal
Status: Interpretation Required
Name: Ted Unangst
Organization: OpenBSD
User Reference:
Section:test
Page Number:3250
Line Number:108968-108969
Interp Status: Approved
Final Accepted Text:http://austingroupbugs.net/view.php?id=898#c2573
==
Date Submitted: 2014-12-02 02:54 UTC
Last Modified: 2017-03-17 00:57 UTC
==
Summary:Ambiguity regarding necessity of ]
==
--
(0003621) kre (reporter) - 2017-03-17 00:57
http://austingroupbugs.net/view.php?id=898#c3621
--
I was looking for a (totally unrelated) possible bug report, and happened
across this one...
While I agree with everything in the (adopted) resolution (from almost 2
years ago) this seems to be yet another case where the issue raised
initially
has been simply forgotten, and the resolution solves some other problem.
The question asked (the problem raised) was that it is unspecified what
happens when argv[0] is "/bin/[".
Telling applications that exec [ or test that they must use exactly "[" or
"test" as argv[0], whatever the user/script actually said, is frankly,
absurd. Shells are a common application which does this, and I cannot
believe that you really expect the shell to try and guess whether the '['
final component of a command name represents the '[' command that requires
this magic treatment? Should it be done for $HOME/bin/[ ?
If not, what if PATH is $HOME/bin:/bin:... and the user just runs [ ?
Claiming that env [ solves the problem for applications first assumes that
the problem is what you believe it is (the reason an application might
want to run /bin/[ ... if it isn't a shell doing it, it won't have [ built
in probably, so avoiding the builtin is not necessarily it), and it gives
no assistance at all to test implementers.
Couldn't the resolution of this issue please address the issue raised?
Something to actually provide guidance to people implementing test (aka [)
commands? What is expected, basename(argv[0]) or just argv[0] when
looking for '[' ? Or perhaps if (strchr(argv[0], '[') != NULL) ??
kre
Issue History
Date ModifiedUsername FieldChange
==
2014-12-02 02:54 tedu New Issue
2014-12-02 02:54 tedu Status New => Under Review
2014-12-02 02:54 tedu Assigned To => ajosey
2014-12-02 02:54 tedu Name => Ted Unangst
2014-12-02 02:54 tedu Organization => OpenBSD
2014-12-02 02:54 tedu Section => test
2014-12-02 03:07 Don Cragun Page Number => 3250
2014-12-02 03:07 Don Cragun Line Number => 108968-108969
2014-12-02 03:07 Don Cragun Interp Status => ---
2014-12-02 16:38 eblake Note Added: 0002469
2014-12-02 18:39 tedu Note Added: 0002470
2014-12-03 09:44 geoffclare Note Added: 0002471
2014-12-03 19:47 tedu Note Added: 0002472
2014-12-04 16:18 shware_systems Note Added: 0002474
2014-12-04 17:55 eblake Note Added: 0002475
2014-12-05 10:11 geoffclare Note Added: 0002478
2015-03-05 17:31 geoffclare Note Added: 0002573
2015-03-05 17:32 geoffclare Project 1003.1(2008)/Issue 7 =>
1003.1(2013)/Issue7+TC1
2015-03-05 17:33 geoffclare Interp Status--- => Pending
2015-03-05 17:33 geoffclare Final Accepted Text =>
http://austingroupbugs.net/view.php?id=898#c2573
2015-03-05 17:33