Sponsored Content
Full Discussion: Parse a string as a command
Top Forums Shell Programming and Scripting Parse a string as a command Post 302541909 by buonstefano on Tuesday 26th of July 2011 06:34:19 AM
Old 07-26-2011
Parse a string as a command

I've a problem parsing a string as a command:

Consider script stefano.sh as following:
Code:
#!/usr/bin/sh

txtshell="./parser.sh /ews/MyEventHandler/data/handler/StopAndMail.php eventid=StopAndMail.MVIN.6300 lot_number=1122FXB facility=EWSF3 'mailto=prova.prova@nohost.com, prova.test@nohost.com' stop_oper=3000 stop_category=VISSPEC stop_step=MVIN 'message=Hold per QA (O.Tavilla)'"

$txtshell

The 'txtshell' is a text variable with the shell to be executed and relevant parameters (some of them included by single-quote and with white space inside

Then, the parser.sh is this one:
Code:
#!/usr/bin/sh
for param
do
        echo "Parameter: $param"
done

I was expecting this output

Code:
Parameter: /ews/MyEventHandler/data/handler/StopAndMail.php
Parameter: eventid=StopAndMail.MVIN.6300
Parameter: lot_number=1122FXB
Parameter: facility=EWSF3
Parameter: 'mailto=prova.prova@nohost.com, prova.test@nohost.com'
Parameter: stop_oper=3000
Parameter: stop_category=VISSPEC
Parameter: stop_step=MVIN
Parameter: 'message=Hold per QA (O.Tavilla)'

...while I had this...

Code:
Parameter: /ews/MyEventHandler/data/handler/StopAndMail.php
Parameter: eventid=StopAndMail.MVIN.6300
Parameter: lot_number=1122FXB
Parameter: facility=EWSF3
Parameter: 'mailto=prova.prova@nohost.com,
Parameter: prova.test@nohost.com'
Parameter: stop_oper=3000
Parameter: stop_category=VISSPEC
Parameter: stop_step=MVIN
Parameter: 'message=Hold
Parameter: per
Parameter: QA
Parameter: (O.Tavilla)'

What's wrong? Can anybody help me?!?

Thanks in advance!
Stefano,
Milan, Italy.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

parse a string variable

Hello all, need a little help. I have an input variable such as ARGV which equals something like /use/home/name/script/test.dat I need to be able to get just the "test.dat" (i.e. the file name) at the end of the directory and the directory can be anything and any length. To put it another... (3 Replies)
Discussion started by: methos
3 Replies

2. Shell Programming and Scripting

String parse question

I have a string of data that looks like this: private.enterprises.954.1.1.1.1.1.2618 \(OctetString\): U private.enterprises.954.1.1.1.1.2.2618 \(OctetString\): 2618 I am trying to parse the string to only return the values after the ":". Ex from above "U" and "2618". Any suggestions? (5 Replies)
Discussion started by: mnreferee
5 Replies

3. Shell Programming and Scripting

how to parse this string

I want to get filenames from the following input. How can I parse this in bash. input data ------------------------------------------------------------------- path=/aaa/bbb/filename1;/aaa/filename2;/aaa/bbb/ccc/ddd/filename3 -------------------------------------------------------------------... (13 Replies)
Discussion started by: hcliff
13 Replies

4. Shell Programming and Scripting

Parse String from a Variable

Hello, Is there a quick way to parse the values from a variable? The variable has the following sample input: TA= The values of the TA variable is not fixed/hardcoded Basically I need to get the IV_Test and PF_SAPP_FWK values. I created a script that first use sed to remove ,... (3 Replies)
Discussion started by: racbern
3 Replies

5. Shell Programming and Scripting

How to parse a string efficiently

I am new to the boards and to shell programming and have a requirement to name new files received with a unique sequence number. I need to look at a particular file pattern that exists and then to increment a sequence by 1 and write the new file. Example of file names and sequence # ... (4 Replies)
Discussion started by: sandiego_coder
4 Replies

6. UNIX for Dummies Questions & Answers

parse string with awk

Hi Guys, I spend half a day getting this to work with no luck, perhaps you guys can help.. I have a string from a file looking like this: module::name=test::type=generic_data::exec=snmpget.......::desc=A Little Test::interval=300 what I would like to split it, so I get a value for each... (3 Replies)
Discussion started by: hyber
3 Replies

7. Shell Programming and Scripting

Parse string

Hi, I need to parse a string, check if there are periods and strip the string. For example i have the following domains and subdomains: mydomain.com, dev.mydomain.com I need to strip all periods so i have a string without periods or domain extensions: mydomain, devmydomain. I use this for... (12 Replies)
Discussion started by: ktm
12 Replies

8. Shell Programming and Scripting

AWK Command parse a file based on string.

AWK Command parse a file based on string. I am trying to write a shell script to parse a file based on a string and move the content of the file to another file. Here is scenario. File content below Mime-Version: 1.0 Content-Type: multipart/mixed; ... (2 Replies)
Discussion started by: aakishore
2 Replies

9. Shell Programming and Scripting

parse a mixed alphanumeric string from within a string

Hi, I would like to be able to parse out a substring matching a basic pattern, which is a character followed by 3 or 4 digits (for example S1234 out of a larger string). The main string would just be a filename, like Thisis__the FileName_S1234_ToParse.txt. The filename isn't fixed, but the... (2 Replies)
Discussion started by: keaneMB
2 Replies

10. Programming

Perl parse string

Hi Perl Guys I have another perl question I have the following code that i have written Getopt::Long::config(qw( permute bundling )); my $OPT = {}; GetOptions($OPT, qw( ver=s help|h )) or die "options parsing failed"; This will allow the user to do something like... (4 Replies)
Discussion started by: ab52
4 Replies
GETFLAGS(8)						      System Manager's Manual						       GETFLAGS(8)

NAME
getflags, usage - command-line parsing for shell scripts SYNOPSIS
getflags $* usage [ progname ] DESCRIPTION
Getflags parses the options in its command-line arguments according to the environment variable $flagfmt. This variable should be a list of comma-separated options. Each option can be a single letter, indicating that it does not take arguments, or a letter followed by the space-separated names of its arguments. Getflags prints an rc(1) script on standard output which initializes the environment variable $flagx for every option mentioned in $flagfmt. If the option is not present on the command-line, the script sets that option's flag vari- able to an empty list. Otherwise, the script sets that option's flag variable with a list containing the option's arguments or, if the option takes no arguments, with the string 1. The script also sets the variable $* to the list of arguments following the options. The final line in the script sets the $status variable, to the empty string on success and to the string usage when there is an error parsing the command line. Usage prints a usage message to standard error. It creates the message using $flagfmt, as described above, $args, which should contain the string to be printed explaining non-option arguments, and $0, the program name (see rc(1)). If run under sh(1), which does not set $0, the program name must be given explicitly on the command line. EXAMPLE
Parse the arguments for leak(1): flagfmt='b,s,f binary,r res,x width' args='name | pid list' if(! ifs=() eval `{getflags $*} || ~ $#* 0){ usage exit usage } SOURCE
/src/cmd/getflags.c /src/cmd/usage.c SEE ALSO
arg(3) GETFLAGS(8)
All times are GMT -4. The time now is 03:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy