bash shell script: recently running, now failing
Fergus Daly
fergusd84@outlook.com
Thu Apr 6 04:43:51 GMT 2023
I have a "hash bang" bash shell script i.e. first line
#! /bin/sh
or equivalently
#! /bin/bash
For various reasons I want this file to be identified as binary so its second line
is the single character null \x00 showing up in some editors e.g. nano as
^@
This does not prevent the script from running to a successful conclusion.
Or not until recently. Now the script fails with
/home/user/bin/file.old.sh: cannot execute binary file
Q1 - was bash recently updated? Would this explain the changed behaviour?
Q2 - if so, is this newly introduced "glitch" known and presumably intended? Or
an unintended consequence that will be retracted in a later update?
I then altered the first line to
#! /bin/dash
whilst retaining the null character at line 2 and subsequent content also unaltered..
The altered script file.new.sh runs as previously to a successful conclusion.
Q3 - at 1/8 the size of bash and sh, I am not at all sure of the role and reach of dash.
Should the edit (dash replacing bash/sh) be incorporated elsewhere or would this be a
bad idea (and retained only locally in what is indeed an eccentric and one-off context)?
More information about the Cygwin
mailing list