I have been experiencing this problem intermittantly, I thought the problem was '/bin/sh -> /bin/dash' but I changed that to bash and the problem persists.
I am writing functions to be included in user's '.bash_profile' through source or '.' filename a quick example of the problem is illustrated by this snippet of pseudo code.
Code:
function wrapper()
{
function worker()
{
VAR="DEBUG TEXT "$(( $COUNT + 1))
echo $VAR
}
# test for a param first
# run param
$(eval $1)
}
I would then source this file and run 'wrapper worker'
the result is:
Code:
DEBUG: command not found
Does anyone know what causes this? I can post the actual script. I thought a generic example may do the trick.
Thank you,
Brian
Last edited by pludi; 02-02-2011 at 04:55 AM..
Reason: code tags, please...
This is my list of sed commands: can anyone tell me where im going wrong. The script works on a file called data which contains 6 student id's and there answers for 6 questions.
!/bin/sh
sed -e 's/*//g' \ #replace * with nothing
-e s/ /X/g' \ #replacing empty space with X
-e... (2 Replies)
hello all
im trying to use in sun Solaris the information received from the top command
now i several machines that dont have install the top program so when im running the script im geting error
saying after im running this code :
set MemoryInfo = `top | grep Memory`
if (... (2 Replies)
Hi, I want to write a script that runs a command (at -l) and writes the output to a file. If the command (at -l) command returns no value (is empty/null) then write a message to the file in place of the command output.
My problem is around trapping the empty returned command value and replacing... (2 Replies)
I need to awk a value out of a file and see if it exists in another file.
My if statement below returns a positive even if the value doesn't exist.
The kky3 is finding the correct field for the value.
cat $PRE | while read a
do
kky2=`echo $a | awk -F: '{print $2}'`
echo "kky2 "... (5 Replies)
Hi,
How do you echo something once when a find statement returns null results?
This is when using mutiple locations and mutiple arguments.
The below find command the inner loop of a nested for loop where the outter loop holds the $args and the inner loop holds the locations.
find... (2 Replies)
my intension is to use a grep command inside the shell script
and if any row is returned or not..
depending on the resultset i have to code on further.
how to check this
i mean.. could anyone help me out with the if condition how to use it here !! (4 Replies)
$ host 80.159.xx.xxx
Host 222.79.xxx.xxx.in-addr.arpa not found: 3(NXDOMAIN)
What does this mean? The person currently using the IP address in IRC is chatting right now, but how come if he's online it doesn't return any information? (1 Reply)
Hi there,
I have 2 HP-UX on same subnet and having a problem on one about ping. I'll call them as hp01 hp02.
hp01 can ping hp02 (ping says %100 transmitted)
hp01 can ssh/telnet hp02
hp02 can ssh/telnet hp01
hp02 cannot ping hp02 (ping says %100 packet loss)
There I thought of ndd... (4 Replies)
Under one of my directories on server I have more than 500 files with different type and name. When I run the find command to list the files with 'ABC_DEFGH' in the begining of its name and older than 20 days, nothing is return as result. Though I know there are more than 400 files which their name... (10 Replies)
Hi there, I'm currently working on an exercise to connect to a Windows iscsi target via a Red Hat initiator machine. I'm using Windows Server 2012 and Red Hat Enterprise Linux v7.1
I have created the target on the Windows Server box and the two devices can communicate with each other. Verified... (3 Replies)
Discussion started by: Tech87
3 Replies
LEARN ABOUT REDHAT
system
SYSTEM(3) Linux Programmer's Manual SYSTEM(3)NAME
system - execute a shell command
SYNOPSIS
#include <stdlib.h>
int system(const char *string);
DESCRIPTION
system() executes a command specified in string by calling /bin/sh -c string, and returns after the command has been completed. During
execution of the command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored.
RETURN VALUE
The value returned is -1 on error (e.g. fork failed), and the return status of the command otherwise. This latter return status is in the
format specified in wait(2). Thus, the exit code of the command will be WEXITSTATUS(status). In case /bin/sh could not be executed, the
exit status will be that of a command that does exit(127).
If the value of string is NULL, system() returns nonzero if the shell is available, and zero if not.
system() does not affect the wait status of any other children.
CONFORMING TO
ANSI C, POSIX.2, BSD 4.3
NOTES
As mentioned, system() ignores SIGINT and SIGQUIT. This may make programs that call it from a loop uninterruptable, unless they take care
themselves to check the exit status of the child. E.g.
while(something) {
int ret = system("foo");
if (WIFSIGNALED(ret) &&
(WTERMSIG(ret) == SIGINT || WTERMSIG(ret) == SIGQUIT))
break;
}
Do not use system() from a program with suid or sgid privileges, because strange values for some environment variables might be used to
subvert system integrity. Use the exec(3) family of functions instead, but not execlp(3) or execvp(3). system() will not, in fact, work
properly from programs with suid or sgid privileges on systems on which /bin/sh is bash version 2, since bash 2 drops privileges on
startup. (Debian uses a modified bash which does not do this when invoked as sh.)
The check for the availability of /bin/sh is not actually performed; it is always assumed to be available. ISO C specifies the check, but
POSIX.2 specifies that the return shall always be non-zero, since a system without the shell is not conforming, and it is this that is
implemented.
It is possible for the shell command to return 127, so that code is not a sure indication that the execve() call failed.
SEE ALSO sh(1), signal(2), wait(2), exec(3)
2001-09-23 SYSTEM(3)