[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: weird behaviour of quotes in dash variable assignments



On Mon 21 Sep 2020 at 20:50:29 (-0400), Gary Dale wrote:
> On 2020-09-21 10:30, David Wright wrote:
> > On Mon 21 Sep 2020 at 08:18:52 (-0400), Greg Wooledge wrote:
> > > On Mon, Sep 21, 2020 at 07:55:45AM -0400, Cindy Sue Causey wrote:
> > > > '…' and "…" are known as neutral, vertical, straight, typewriter,
> > > > dumb, or ASCII quotation marks.
> > > > 
> > > > ‘…’ and “…” are known as typographic, curly, curved, book, or smart
> > > > quotation marks.
> > > Yes.  This is one of the possible causes for the behavior the OP was
> > > reporting.  But if this is true, then it reveals that they were lying
> > > when they claimed that the scripts were the same on both servers.
> > > 
> > > […]
> > > 
> > > To beat a dead horse some more, if *this* was the OP's problem, then they
> > > told multiple lies about it.  They did not paste the actual failing line
> > > from the failing script (probably retyped it instead), and they did not
> > > ACTUALLY COMPARE the two scripts to see whether they were different,
> > > instead simply ASSUMING that the two scripts were identical, even though
> > > they very clearly weren't.
> > > 
> > > An actual troubleshooting would have done something like using md5sum
> > > on the script on each machine, and pasting the md5sum commands (including
> > > the full script pathname) and their output to the mailing list.  Openness.
> > > 
> > > Or, hell, even "ls -l /full/pathname" would probably have revealed that
> > > the scripts were not the same SIZE.  That would also have shown immediately
> > > that the scripts were not "the same".
> > I think we should apply Hanlon's razor rather than saying the OP lied.
> > After all, "compare" means diff or cmp to us, whereas many might just
> > use their eyeballs. And we all know that authors are the worst people
> > to check their own work. Proof-reading is a special skill.
> > 
> > Even their fix is poorly described. Did they just type the quotes back
> > in with an editor, in which case there's no guarantee that the scripts
> > are identical between machines, or did they transfer a working script
> > to the failing machine? The best line is save until last: "I certainly
> > didn't update anything on either server...". Well, yes, that's
> > *precisely* what you did: you updated the script.
                              ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
> > 
> You are taking my quote out of context. I didn't change anything on
> the server to make the script start working. I updated the script to
                                               ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
> see if it would work after trying Greg's test. There were no program
> or setting updates on the server, and certainly nothing that updated
> dash. This is Debian/Stable we're talking about, after all.

Sorry, I thought you wrote that on Sunday afternoon, "I fixed it by
removing the quotes on the one server but now the scripts are
different between the two servers, which isn't what I want."
Then on Sunday evening, you wrote "When I retried my script with the
quotes, it started working."

The general opinion is that the script was faulty, probably in the
quotes used. The narrative says that you removed the quotes, and
later put them back. It seems fair to suggest that the quotes you
put back were not the same ones that you removed. They were replaced
in the same location, but you didn't put the old (removed) quotes
into a little two-character file, so that you could put precisely
the same ones back into the script, did you?

> Since it is a file server, there probably were changes to the files on
> its shares, but I'd hardly count that as an "update". Similarly, it
> was running cron jobs for backups and virus scans (unsuccessfully) but
> again I wouldn't call those "updates".

Nor I. No, I'm only talking about your script. Does it bear any
relation to the one posted in your blog? The first line (after
the shebang) of the one in the blog is the same line that's under
discussion here, and has curly quotes. I can't parse the second
line's curly quotes, and the fourth line uses an n-dash for a
hyphen *though the other hyphens are ok). The fifth line uses
curly single-quotes. More curly quotes follow.

I don't see any cause for our wasting time pondering on dash
without your posting an MWE that unambiguously demonstrates a
problem.

Cheers,
David.


Reply to: