Sponsored Content
Top Forums Shell Programming and Scripting ksh hidden characters in variables Post 303007611 by user052009 on Saturday 18th of November 2017 09:21:04 PM
Old 11-18-2017
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':

Code:
./test.ksh -username user1 -surname user2 -address abc123 -startdate 123 -req 4 -options –debug 
+ print 'INFO - Process arguments ...'
INFO - Process arguments ...
+ [ -n -username ]
+ grep -e '^-[a-z]'
+ echo user1
+ [ '' ]
+ shift
+ SourceTarget=user1
+ shift
+ [ -n -surname ]
+ grep -e '^-[a-z]'
+ echo user2
+ [ '' ]
+ shift
+ DestTarget=user2
+ shift
+ [ -n -address ]
+ grep -e '^-[a-z]'
+ echo abc123
+ [ '' ]
+ shift
+ ADDRESS=abc123
+ shift
+ [ -n -startdate ]
+ grep -e '^-[a-z]'
+ echo 123
+ [ '' ]
+ shift
+ STARTDATE=123
+ UNTIL=123
+ shift
+ [ -n -req ]
+ grep -e '^-[a-z]'
+ echo 4
+ [ '' ]
+ shift
+ REQ=4
+ shift
+ [ -n -options ]
+ [ -n $'\u[2013]debug' ]
+ shift
+ OPT=$'\u[2013]debug'
+ break
+ print 'INFO - Processed inputted arguments...'
INFO - Processed inputted arguments...
+ STR=$'\u[2013]debug'
+ print $'STR Options field: \u[2013]debug'
STR Options field: –debug
+ exit 0

And now if I run the same command but remove the dash from before 'debug' in the options field:
Code:
./test.ksh -username user1 -surname user2 -address abc123 -startdate 123 -req 4 -options debug 
+ print 'INFO - Process arguments ...'
INFO - Process arguments ...
+ [ -n -username ]
+ grep -e '^-[a-z]'
+ echo user1
+ [ '' ]
+ shift
+ SourceTarget=user1
+ shift
+ [ -n -surname ]
+ grep -e '^-[a-z]'
+ echo user2
+ [ '' ]
+ shift
+ DestTarget=user2
+ shift
+ [ -n -address ]
+ grep -e '^-[a-z]'
+ echo abc123
+ [ '' ]
+ shift
+ ADDRESS=abc123
+ shift
+ [ -n -startdate ]
+ grep -e '^-[a-z]'
+ echo 123
+ [ '' ]
+ shift
+ STARTDATE=123
+ UNTIL=123
+ shift
+ [ -n -req ]
+ grep -e '^-[a-z]'
+ echo 4
+ [ '' ]
+ shift
+ REQ=4
+ shift
+ [ -n -options ]
+ [ -n debug ]
+ shift
+ OPT=debug
+ break
+ print 'INFO - Processed inputted arguments...'
INFO - Processed inputted arguments...
+ STR=debug
+ print 'STR Options field: debug'
STR Options field: debug
+ exit 0


Last edited by user052009; 11-18-2017 at 10:27 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

missing hidden characters

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)
Discussion started by: SUSANR9999
2 Replies

2. UNIX for Advanced & Expert Users

Hidden Characters

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)
Discussion started by: Khoomfire
6 Replies

3. UNIX for Advanced & Expert Users

hidden Characters

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)
Discussion started by: Khoomfire
5 Replies

4. Shell Programming and Scripting

Hidden control characters in a Unix Text File!

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)
Discussion started by: kewl_guy
6 Replies

5. Shell Programming and Scripting

hidden characters added to commands

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)
Discussion started by: josebenitez
2 Replies

6. Shell Programming and Scripting

How to see hidden characters.....

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)
Discussion started by: Bashingaway
8 Replies

7. Shell Programming and Scripting

Hidden Characters in Regular Expression Matching Perl - Perl Newbie

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)
Discussion started by: kittyluva2
4 Replies

8. UNIX for Beginners Questions & Answers

Hidden characters when pasting in vi/vim

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)
Discussion started by: dampio
3 Replies

9. Shell Programming and Scripting

Rsync - how to copy hidden folder or hidden files when using full path

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)
Discussion started by: jcdole
2 Replies
shift(1)							   User Commands							  shift(1)

NAME
shift - shell built-in function to traverse either a shell's argument list or a list of field-separated words SYNOPSIS
sh shift [n] csh shift [variable] ksh * shift [n] DESCRIPTION
sh The positional parameters from $n+1 ... are renamed $1 ... . If n is not given, it is assumed to be 1. csh The components of argv, or variable, if supplied, are shifted to the left, discarding the first component. It is an error for the variable not to be set or to have a null value. ksh The positional parameters from $n+1 $n+1 ... are renamed $1 ..., default n is 1. The parameter n can be any arithmetic expression that evaluates to a non-negative number less than or equal to $#. On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways: 1. Variable assignment lists preceding the command remain in effect when the command completes. 2. I/O redirections are processed after variable assignments. 3. Errors cause a script that contains them to abort. 4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari- able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not performed. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
csh(1), ksh(1), sh(1), attributes(5) SunOS 5.10 15 Apr 1994 shift(1)
All times are GMT -4. The time now is 07:51 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy