I have a file with argments in it. There can be multiple arguments per line. Arguments can contain whitespace (in which case they are quoted). I want to itterate through them and handle them (such as with a case statement). I want the itteration to separate on unqoted white space but not quoted whitespace.
What you describe is a (very simple) parser. The following sketch roughly does what you want, you will want to put it into a function in you script. I wrote it for ksh initially, so you will probably have to adapt it somewhat ("print" -> "echo", etc.).
I hope this helps.
bakunin
These 2 Users Gave Thanks to bakunin For This Post:
This is a totally dumb newbie question, but I have not been able to find t he answer in the BASH book or online.
I am trying pass a double quoted variable to the command line.
variable = "-b \"dc=example,dc=com\""
When I run sh -x the variable comes out as '-b "dc=example,dc=com"' is... (4 Replies)
Hi,
I am generating html code using cshell, but i am having one problem while printing double quotes,
I need to write following code in file. where $var contains list of web address
<a href="$var">$var</a>
So i am using
echo "<a href="$var">$var</a>" > file.html
But with this " in... (4 Replies)
Hi i have to insert the below line into a specific line number of another file
export MBR_CNT_PRCP_TYPE_CODES_DEL="'01','02','04','05','49','55','UNK'"
I have passed the above line to a variable say ins_line. I have used below command to perform the insert
awk 'NR==3{print "'"${ins_line}"'"}1'... (1 Reply)
I need to interpolate a shell variable in a code, i cannot share the exact code so this is an example i made up to describe the situation
What I am trying to do here is try to wrap up the value of a variable in single quotes. This value needs to be passed to another program which would only... (4 Replies)
As the title says I'm running a korn script in attempts to find an exact match in named.conf
finddomain.ksh
#!/bin/ksh
#
echo "********** named.conf ************"
file=/var/named/named.conf
for domain in `cat $1`
do
grep -n '"\$domain "' $file
done
echo "********** thezah.inc... (1 Reply)
Hi All,
OS - Suse 10
ksh --version
version sh (AT&T Research) 93s+ 2008-01-31
I am passing two words within double quotes ("Application Developer") to script as variable, but script is adding two single quotes between two words like ("Application' 'Developer").
below is simple test... (4 Replies)
I am unable to expand the value of entry variable inside the nawk command.
I tried three different nawk command as below but none of them substitute the value of entry variable.
ls *.txt | while IFS='' read -r entry; do
#nawk '/<name>/{A=1;++i} A{print >> ("cmd"i"_"$entry)}... (9 Replies)
Hi got this issue and was wondering if someone could please help out ?
var='." "'
echo $var
." "
I 'll get ." " and not ." with 10 spaces in between "
Thanks (3 Replies)
Discussion started by: stinkefisch
3 Replies
LEARN ABOUT V7
typeset
typeset(1) User Commands typeset(1)NAME
typeset, whence - shell built-in functions to set/get attributes and values for shell variables and functions
SYNOPSIS
typeset [ +- HLRZfilrtux [n]] [ name [ = value]]...
whence [-pv] name...
DESCRIPTION
typeset sets attributes and values for shell variables and functions. When typeset is invoked inside a function, a new instance of the
variables name is created. The variables value and type are restored when the function completes. The following list of attributes may be
specified:
-H This flag provides UNIX to host-name file mapping on non-UNIX machines.
-L Left justify and remove leading blanks from value. If n is non-zero it defines the width of the field; otherwise, it is determined
by the width of the value of first assignment. When the variable is assigned to, it is filled on the right with blanks or trun-
cated, if necessary, to fit into the field. Leading zeros are removed if the -Z flag is also set. The -R flag is turned off.
-R Right justify and fill with leading blanks. If n is non-zero it defines the width of the field, otherwise it is determined by the
width of the value of first assignment. The field is left filled with blanks or truncated from the end if the variable is reas-
signed. The -L flag is turned off.
-Z Right justify and fill with leading zeros if the first non-blank character is a digit and the -L flag has not been set. If n is
non-zero it defines the width of the field; otherwise, it is determined by the width of the value of first assignment.
-f The names refer to function names rather than variable names. No assignments can be made and the only other valid flags are -t, -u
and -x. The flag -t turns on execution tracing for this function. The flag -u causes this function to be marked undefined. The
FPATH variable will be searched to find the function definition when the function is referenced. The flag -x allows the func-
tion definition to remain in effect across shell procedures invoked by name.
-i Parameter is an integer. This makes arithmetic faster. If n is non-zero it defines the output arithmetic base; otherwise, the
first assignment determines the output base.
-l All upper-case characters are converted to lower-case. The upper-case flag, -u is turned off.
-r The given names are marked readonly and these names cannot be changed by subsequent assignment.
-t Tags the variables. Tags are user definable and have no special meaning to the shell.
-u All lower-case characters are converted to upper-case characters. The lower-case flag, -l is turned off.
-x The given names are marked for automatic export to the environment of subsequently-executed commands.
The -i attribute can not be specified along with -R, -L, -Z, or -f.
Using + rather than - causes these flags to be turned off. If no name arguments are given but flags are specified, a list of names (and
optionally the values) of the variables which have these flags set is printed. (Using + rather than - keeps the values from being
printed.) If no names and flags are given, the names and attributes of all variables are printed.
For each name, whence indicates how it would be interpreted if used as a command name.
The -v flag produces a more verbose report.
The -p flag does a path search for name even if name is an alias, a function, or a reserved word.
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 ksh(1), set(1), sh(1), attributes(5)SunOS 5.10 1 Feb 1995 typeset(1)