10-16-2014
It is a really bad idea. It is extremely insecure, dangerous, error-prone(not just malfunctioning but syntax errors out of the blue given unexpected input), difficult to pass values into and out of, and incomprehensible to anyone who didn't write it (and often enough, to the writer, eventually).
Wanting to do so usually means more ordinary methods like functions, variables, and loops have been overlooked.
What exactly is your goal here? What problem are you trying to solve by storing commands?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi all..
I got a problem..
Its easy to redirect o/p to a file.. But Is it possible to redirect the O/P to a variable?
For example:
I've a command in my script:
string1=cut -d ':' -f2 file.txt
When I do:
echo $string1
The value is empty... Pls suggest me how to store the value... (7 Replies)
Discussion started by: smartbuddy
7 Replies
2. Shell Programming and Scripting
I have a variable A
echo $A
5060
I am exporting the value X,Y,Z and it id fetching right thing and When I run
C=`${X} -l ${Y} ${Z} "trap '' INT;. ~/.profile >/dev/null 2>/dev/null; netstat -na | grep \$A`"
here it is going to same directory and also running netstat -na | grep 5060
... (4 Replies)
Discussion started by: madhusmita
4 Replies
3. Shell Programming and Scripting
Hi Jim,
The following script is in working state. But i m having one more problem with awk cmd. Could you tell me how to use any variable inside awk or how to take any variable value outside awk.
My problem is i want to maintain one property file in which i am declaring variable value into that... (12 Replies)
Discussion started by: Ganesh Khandare
12 Replies
4. Shell Programming and Scripting
I am sure it has been answered in some form or the other in this forum but trust me I have spent last couple of hours looking for an answer but can't find it.
I want to do a very simple operation within my script.
Let's say I have 4 files with the names file1.log, file2.log, file3.log and... (6 Replies)
Discussion started by: sssccc
6 Replies
5. Shell Programming and Scripting
Hi,
I am trying to do the following thing
var='date'
$var
Above command substitutes date for and in turn runs the date command and i am getting the todays date value.
I am trying to do the same thing as following, but facing some problems,
unique_host_pro="sed -e ' /#/d'... (3 Replies)
Discussion started by: gvinayagam
3 Replies
6. Shell Programming and Scripting
Hello Experts
I am newbie to unix and writing one script to make archive files
Problme i am facing is : I have used find command to find the type of files and I am storing find command results in a variable.
When I echo the variable I can see that path is printed properly but when i am... (5 Replies)
Discussion started by: mitsyjohn
5 Replies
7. Shell Programming and Scripting
Hi
How to use a variable to store the filename of a file which was found by the 'find' command.
can this be practical-->var = find . -name "filename.dat"
Please help.. (1 Reply)
Discussion started by: ayyappaas
1 Replies
8. Shell Programming and Scripting
Hello All
My req is to store the exit status of a command in shell variable
I want to check whether the file has header or not
The header will contain the string
DATA_ACQ_CYC_CNTL_ID
So I am running the command
head -1 $i | grep DATA_ACQ_CYC_CNTL_ID
Now I have to check if... (6 Replies)
Discussion started by: Pratik4891
6 Replies
9. Shell Programming and Scripting
I want to store the return value of
grep -c string filename
into a variable, say count. How do I do that?
For example if grep -c "string" "filename" shows 0 on executing it in the sh shell then I want to store this 0 in a variable. Is it possible? :D (5 Replies)
Discussion started by: navienavnav
5 Replies
10. Programming
I am trying to store output of python command in variable. Could you please help how I can do that ?
For example I am executing the following command - "CentOS" in server_desc
The output would be True or False
I would like to store the output in a variable say outPut and use condition... (4 Replies)
Discussion started by: atanubanerji
4 Replies
LEARN ABOUT REDHAT
ipc::open3
IPC::Open3(3pm) Perl Programmers Reference Guide IPC::Open3(3pm)
NAME
IPC::Open3, open3 - open a process for reading, writing, and error handling
SYNOPSIS
$pid = open3(*WTRFH, *RDRFH, *ERRFH,
'some cmd and args', 'optarg', ...);
my($wtr, $rdr, $err);
$pid = open3($wtr, $rdr, $err,
'some cmd and args', 'optarg', ...);
DESCRIPTION
Extremely similar to open2(), open3() spawns the given $cmd and connects RDRFH for reading, WTRFH for writing, and ERRFH for errors. If
ERRFH is false, or the same file descriptor as RDRFH, then STDOUT and STDERR of the child are on the same filehandle. The WTRFH will have
autoflush turned on.
If WTRFH begins with "<&", then WTRFH will be closed in the parent, and the child will read from it directly. If RDRFH or ERRFH begins
with ">&", then the child will send output directly to that filehandle. In both cases, there will be a dup(2) instead of a pipe(2) made.
If either reader or writer is the null string, this will be replaced by an autogenerated filehandle. If so, you must pass a valid lvalue
in the parameter slot so it can be overwritten in the caller, or an exception will be raised.
The filehandles may also be integers, in which case they are understood as file descriptors.
open3() returns the process ID of the child process. It doesn't return on failure: it just raises an exception matching "/^open3:/". How-
ever, "exec" failures in the child are not detected. You'll have to trap SIGPIPE yourself.
open3() does not wait for and reap the child process after it exits. Except for short programs where it's acceptable to let the operating
system take care of this, you need to do this yourself. This is normally as simple as calling "waitpid $pid, 0" when you're done with the
process. Failing to do this can result in an accumulation of defunct or "zombie" processes. See "waitpid" in perlfunc for more informa-
tion.
If you try to read from the child's stdout writer and their stderr writer, you'll have problems with blocking, which means you'll want to
use select() or the IO::Select, which means you'd best use sysread() instead of readline() for normal stuff.
This is very dangerous, as you may block forever. It assumes it's going to talk to something like bc, both writing to it and reading from
it. This is presumably safe because you "know" that commands like bc will read a line at a time and output a line at a time. Programs
like sort that read their entire input stream first, however, are quite apt to cause deadlock.
The big problem with this approach is that if you don't have control over source code being run in the child process, you can't control
what it does with pipe buffering. Thus you can't just open a pipe to "cat -v" and continually read and write a line from it.
WARNING
The order of arguments differs from that of open2().
perl v5.8.0 2002-06-01 IPC::Open3(3pm)