All good points, I stand corrected. I guess I don't run into these
special characters very often, especially in file names, and when I do,
I fall back on a few tricks, such as using a combination of quotes or an
escape sequence to get around these problems. I learned Pascal and
Cbefore I did any programming in DOS batch files, so I find issues like
these a lot less confusing then the branching and go to statements you
have to use in DOS batch files. I guess I don't find these to be issues
of intuitiveness as much as just what you're used to and familiar with.
On 07/30/2015 08:10 AM, Tim Chase wrote:
On July 30, 2015, Christopher Chaltain wrote:
I guess I'd need to see an example of how these characters trip
someone up in a file name using a BASH script while they are
handled differently in the DOS batch processor.
One of the biggest offenders I find is the exclamation point. For
example, try the following:
echo "Hello!"
echo "Hello!!"
(note that the second one has two exclamation points). The result
replaces the "!!" with the previous command, so you end up with
output of
Helloecho Hello!
Even more confoundingly, make it an interrobang:
echo "Hello!? I love this"
and it will hang waiting for a closing quote (even though you already
put one in) because the "!?" syntax attempts to replace the stuff
after the exclamation point with the most recent item in your
command-history that contained " I love this".
You can also have problems if you have a "$" in your text:
echo "It cost me $5"
which attempts to replace the "$5" with the (non-existent) 5th
argument to a function/script, so it outputs merely "It cost me "
Each of them involves consistent and understandable behavior, you
just have to know what to expect.
-tim
--
Christopher (CJ)
chaltain at Gmail
_______________________________________________
Blinux-list mailing list
Blinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/blinux-list