It's caused when the first character in the options field is a dash. I'm calling the script from the command line. The script was edited using vi. Here's the full output with debug when I use '-options -debug':
And now if I run the same command but remove the dash from before 'debug' in the options field:
Last edited by user052009; 11-18-2017 at 10:27 PM..
Let us take a close look at the command line you typed into your shell:
If you look closely, you'll see that the character before "username", "surname", "address", "startdate", "req", and "options" is a <hyphen> or <minus-sign>, but the character before "debug" is wider. It is what Unicode calls an <en-dash>. If we feed that line through od and look at it as octal bytes and characters we can easily see the difference:
which produces the output:
Note that I marked the last hyphen and the en-dash in red in the od output. Each of the hyphens is a single byte with octal value 055 while the en-dash is three bytes with the octal values 342, 200, and 223, respectively.
When you give ksh an en-dash as an input character, it will give it back you you as an en-dash (and not convert it to a hyphen). If you want a the string -debug with a hypen to be assigned to OPTS, give ksh a command line argument containing -debug with a hypen; not -debug with an en-dash.
These 3 Users Gave Thanks to Don Cragun For This Post:
A common cause is copy/pasting from a web page or a document where a word processor has replaced two consecutive minus-hyphen characters with a wide single one (short dash).
This is done by default at least with MS Word 2010.
I can only imagine I somehow pressed shift alt (on a mac) along with - when typing that in. It was the only place it occurred. It's great to now have an approach for working this out. Thanks guys.
Last edited by user052009; 11-19-2017 at 07:47 PM..
Hello.
I use this command :
rsync -av --include=".*" --dry-run "$A_FULL_PATH_S" "$A_FULL_PATH_D"The data comes from the output of a find command.
And no full source directories are in use, only some files.
Source example... (2 Replies)
Hello everyone.
When I copy some configuration settings string from MS_Word to putty from my personal pc to a remote machine, it appears that I copy some hidden symbols, which at first, cannot be seen and appear as hidden. Some java programs did not start, and after investigation I found that:
... (3 Replies)
I am completely new to perl programming. My father is helping me learn said programming language. However, I am stuck on one of the assignments he has given me, and I can't find very much help with it via google, either because I have a tiny attention span, or because I can be very very dense.
... (4 Replies)
I know that cat -v will show me hidden characters in a file....
I for some reason seem to think that there's a bash command that will show me hidden characters in a variable in a script? Or am I just imagining it?
Thanks in advance (8 Replies)
Hello everybody.
Im really new in shell scripting. Im working with RedHat 4.
I have begin to do some scripts to test the posibilitys but Im fancing a disturbing problem.
some times the lines that I write add the return character or end-of-file ascii character to the command or argument tha... (2 Replies)
Can anyone seem to know how to find out whether a UNIX text file has 'hidden' control characters?
Can I view them using 'vi' by some command line options?
If there are control characters in a text file which are invisible/hidden.. then how do I get rid of them?
Your intelletual answers are... (6 Replies)
Hello All,
I'm trying to parse through a file and display all the hidden characters, including all carriage and line returns. I usually use cat -v, but this doesn't display the carriage and line returns. Does anyone know how this can be done?
Thanks
Khoom (5 Replies)
Hello all,
I have two files, that I suspect may contain hidden characters (EG, three spaces instead of a tab). Does anyone know of any tool that can display this (I have tried using diff, but I'm not quite sure it would do the job) (6 Replies)
I made a small change to a UNIX script. When I tried to run it I received the following message:
/bin/ksh: ^M: not found
/bin/ksh: ^M: not found
/bin/ksh: ^M: not found
As ^M is a non printing character, I don't know how to discover where it is missing. How can I correct thiis... (2 Replies)