It's taken a bit but I've thought of a better way to parse strings like this into name-value pairs:
Putting it through eval could execute untoward things, but xargs understands quotes too:
Exactly what I want actually -- something powerful enough to understand arguments in quotes, but dumb enough to not actually evaluate everything.
So in BASH I can do this:
In other shells, I'd use a temp file:
Last edited by Corona688; 01-13-2012 at 03:06 PM..
Reason: typos
How do you pass parameters over to another script and run the receiving script? .
Here is an example of what I am talking about.
for x in `cat Allx`
do
su myaccount -c "/temp/scripts/temp_script $x" > /dev/null 2>$1 $
done
I was expecting the tem_script to be... (1 Reply)
Hi:- I need to parse a script 3 parameters (file, subject and email address). This is what I currently have:
allargs=$*
argcount=`echo $allargs | awk -F: '{ print NF }' ` # Total Number of arguments
pdffile=`echo $allargs | awk -F: '{ print $1 }' ` # PDF/binary file to be encoded... (4 Replies)
Sceduled backups with vdump have been delayed as a mounted system had crashed while I was away for 2 weeks. Now there are 5 simultaneous vdumps running very slowly. The full system backup usually takes a whole weekend.
Can I safely kill these? (I will have to live without a backup untill next... (4 Replies)
I have a job script that runs with input parms from the command line.
job.sh -p parm1_parm2_parm3_parm4_file_1.dat
The parms are separated by _
The last parm is a file name and can have an _ in the name.
I currently use the following commands to extract the parms
parm1=`eval echo... (3 Replies)
Hi all,
Am writing a script that does a rm/mv if a file exist, however, in one scenario, one of the variables which is supposed to a variable for a directory is undefined/blank so instead of the variable resolving to /tmp/logfile.dmp, it resolves instead to / so the rm translates to a rm /... (2 Replies)
I get a strange problem here, and ask for help.
(gdb)
28 set_file_bit( file, bytePos, bitPos, argv );
(gdb) p argv
$3 = 0xbfffef5c "00"
(gdb) s
set_file_bit (file=0x804b008, bytePos=2, bitPos=2, binary=0x80490e5 "11") at util/file.c:112
... (2 Replies)
Greetings,
I need some help performing a system admin function that I have been tasked with. The request seems simple enough, but my feeling is that it might be more complicated than it seems.
Here is what i've been tasked with:
SunOS 5.10 Generic_142900-15 sun4u sparc SUNW,SPARC-Enterprise... (3 Replies)
I am using:
reboot -- cdrom
However I'm afraid of causing file system errors/corruption. I've seen many threads say that
init 6
is safer, but I need to get to CDROM.
Is there a command that is as safe as init, but can boot to cdrom, or should I not worry so much about the reboot... (5 Replies)
I wanted to know whether all files under /tmp can be safely removed. I guess that /tmp may also have temporary files for applications currently being worked on, so at the most those applications may just shut down.
I hope that my question is clear whether all files under /tmp can be safely... (5 Replies)
Discussion started by: RHCE
5 Replies
LEARN ABOUT BSD
xargs
XARGS(1) General Commands Manual XARGS(1)NAME
xargs - construct argument list(s) and execute utility
SYNOPSIS
xargs [ -t ][[ -x ] -n number ][ -s size ][ utility [ arguments... ]]
DESCRIPTION
The xargs utility reads space, tab, newline and end-of-file delimited arguments from the standard input and executes the specified utility
with them as arguments.
The utility and any arguments specified on the command line are given to the utility upon each invocation, followed by some number of the
arguments read from standard input. The utility is repeatedly executed until standard input is exhausted.
Spaces, tabs and newlines may be embedded in arguments using single (`` ' '') or double (``"'') quotes or backslashes (``''). Single
quotes escape all non-single quote characters, excluding newlines, up to the matching single quote. Double quotes escape all non-double
quote characters, excluding newlines, up to the matching double quote. Any single character, including newlines, may be escaped by a back-
slash.
The options are as follows:
-n number Set the maximum number of arguments taken from standard input for each invocation of the utility. An invocation of utility will
use less than number standard input arguments if the number of bytes accumulated (see the s option) exceeds the specified size or
there are fewer than number arguments remaining for the last invocation of utility. The current default value for number is
5000.
-s size Set the maximum number of bytes for the command line length provided to utility. The sum of the length of the utility name and
the arguments passed to utility (including /dev/null terminators) will be less than or equal to this number. The current default
value for size is ARG_MAX - 2048.
-t Echo the command to be executed to standard error immediately before it is executed.
-x Force xargs to terminate immediately if a command line containing number arguments will not fit in the specified (or default)
command line length.
If no utility is specified, echo(1) is used.
Undefined behavior may occur if utility reads from the standard input.
The xargs utility exits immediately (without processing any further input) if a command line cannot be assembled, utility cannot be
invoked, an invocation of the utility is terminated by a signal or an invocation of the utility exits with a value of 255.
The xargs utility exits with a value of 0 if no error occurs. If utility cannot be invoked, xargs exits with a value of 127. If any other
error occurs, xargs exits with a value of 1.
SEE ALSO echo(1), find(1)STANDARDS
The xargs utility is expected to be IEEE Std 1003.2("POSIX") compliant.
June 6, 1993 XARGS(1)