OpenSSH 7.7 t1 script breakage

David Newall openssh at davidnewall.com
Fri Apr 13 15:50:57 AEST 2018


On 13/04/18 07:59, Josh Soref wrote:
> Randall S. Becker <rsbecker at nexbridge.com> wrote:
>
>> -REGRESSTMP = "$(PWD)/regress"
>> +REGRESSTMP = `pwd`
>>
>>   tests interop-tests t-exec unit: regress-prep regress-binaries 
>> $(TARGETS)
>>
> It looks like the problem is that pwd is in uppercase, not so much the
> distinction between $() and ``.
>
> Can you confirm?

I think not.  $(PWD) is a valid expansion of a shell variable when using 
bash, maybe also Bourne shell, whereas `pwd` is the output of the pwd 
command.

There seems to be muddled-headed thinking going on with scripts. 
Recently there was a configure problem because of a difference between 
csh and sh.  (As I recall, csh exits the script when you use an 
undefined variable, whereas the various sh shells interpolate an empty 
string.)  It is madness to think you can take a program that was written 
for one language and run it using another.  I understand that a lot of 
unixy shells are very similar, and that if you take great care you 
really can run a script in all of them, but, if that is what is 
intended, then there should be a document that describes which features 
are allowed to be used and which are not; better yet, a program to 
validate the scripts.

I think, better yet, is to mandate use of a specific shell.  The bash 
shell might be the most widely available.


More information about the openssh-unix-dev mailing list