On Mon, Dec 11, 2023 at 11:25:13AM +0000, Albretch Mueller wrote: > In the case of: "ASCII text" > what should come out of it is: "ASCII_text" > not: "ASCII_text_" > no underscore at the end. That is the question I have.
OK, here's my guess. The lines of code that you showed us are not actually in a script. They're just in a FILE, and you're running a command like this: sh myfile Furthermore, I am guessing that the lines of code in this file have Microsoft CR+LF line endings. Therefore, when you do a variable assignment like ftype=$(file --brief "$whatever") you end up with a Carriage Return character at the end of the variable's content (because there is one at the end of this command). Since you never actually SHOWED US the command you ran, or the output that was produced, which could have made this really, really obvious, we're forced to guess. My guess might be right, or wrong. But it's the best guess I have with the limited information you've chosen to share with us. What I mean by "obvious" is this. Here's part of your code: echo "abc123" > file.txt ftype=$(file --brief file.txt) echo "// __ \$ftype: |${ftype}|" If my guess is correct, you got output that looks like this: |/ __ $ftype: |ASCII text Showing this would have made it immediately clear that a CR is involved.