Sponsored Content
Top Forums Shell Programming and Scripting How to distinguish between "command not found" and "command with no result" Post 302349101 by jlliagre on Monday 31st of August 2009 05:59:21 AM
Old 08-31-2009
Interesting. It looks like system return value meaning has changed between Solaris 10 and OpenSolaris (which I use):

On Solaris 10 (SunOS 5.10) system(3C) manual page:

Code:
RETURN VALUES
     The system() function executes vfork(2) to  create  a  child
     process that in turn invokes one of the exec family of func-
     tions (see exec(2)) on  the  shell  to  execute  string.  If
     vfork()  or the exec function fails, system() returns -1 and
     sets errno to indicate the error.

On OpenSolaris (SunOS 5.11):

Code:
RETURN VALUES
     The system() function executes posix_spawn(3C) to  create  a
     child  process  running  the shell that in turn executes the
     commands in string. If posix_spawn() fails, system() returns
     -1  and sets errno to indicate the error; otherwise the exit
     status of the shell is returned.

I'm afraid you'll have to use a different approach to distinguish these cases.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Command Character size limit in the "sh" and "bourne" shell

Hi!!.. I would like to know what is maximum character size for a command in the "sh" or "bourne" shell? Thanks in advance.. Roshan. (1 Reply)
Discussion started by: Roshan1286
1 Replies

2. UNIX for Advanced & Expert Users

Command Character size limit in the "sh" and "bourne" shell

Hi!!.. I would like to know what is maximum character size for a command in the "sh" or "bourne" shell? Thanks in advance.. Roshan. (1 Reply)
Discussion started by: Roshan1286
1 Replies

3. Shell Programming and Scripting

Command Character size limit in the "sh" and "bourne" shell

Hi!!.. I would like to know what is maximum character size for a command in the "sh" or "bourne" shell? Thanks in advance.. Roshan. (1 Reply)
Discussion started by: Roshan1286
1 Replies

4. UNIX for Dummies Questions & Answers

the meaning of "!:*" in "alias foo 'command\!:*' filename"

Hi: How can I remove my own post? Thanks. (2 Replies)
Discussion started by: phil518
2 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. UNIX for Dummies Questions & Answers

Unix "look" Command "File too large" Error Message

I am trying to find lines in a text file larger than 3 Gb that start with a given string. My command looks like this: $ look "string" "/home/patrick/filename.txt" However, this gives me the following message: "look: /home/patrick/filename.txt: File too large" So, I have two... (14 Replies)
Discussion started by: shishong
14 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. UNIX and Linux Applications

Problem on SQLplus command ""bash: sqlplus: command not found""

Hi all, i face an error related to my server ""it's running server"" when i use sqlplus command $ sqlplus bash: sqlplus: command not found the data base is up and running i just need to access the sqlplus to import the dump file as a daily backup. i already check the directory... (4 Replies)
Discussion started by: clerck
4 Replies

9. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
system(3S)																system(3S)

NAME
system() - issue a shell command SYNOPSIS
DESCRIPTION
executes the command specified by the string pointed to by command. The environment of the executed command is as if a child process were created using (see fork(2)), and the child process invoked the sh-posix(1) utility via a call to (see exec(2)) as follows: ignores the and signals, and blocks the signal, while waiting for the command to terminate. If this might cause the application to miss a signal that would have killed it, the application should examine the return value from and take whatever action is appropriate to the application if the command terminated due to receipt of a signal. does not affect the termination status of any child of the calling processes other than the process or processes it itself creates. does not return until the child process has terminated. APPLICATION USAGE
If the return value of is not -1, its value can be decoded through the use of the macros described in For convenience, these macros are also provided in Note that, while must ignore and and block while waiting for the child to terminate, the handling of signals in the executed command is as specified by fork(2) and exec(2). For example, if is being caught or is set to when is called, the child is started with handling set to Ignoring and in the parent process prevents coordination problems (such as two processes reading from the same terminal) when the executed command ignores or catches one of the signals. RETURN VALUE
If command is null, returns non-zero. If command is not null, returns the termination status of the command language interpreter in the format specified by wait(2). The termi- nation status of the command language interpreter is as specified for sh-posix(1), except that if some error prevents the command language interpreter from executing after the child process is created, the return value from is as if the command language interpreter had termi- nated using If a child process cannot be created, or if the termination status for the command language interpreter cannot be obtained, returns -1 and sets to indicate the error. DIAGNOSTICS
forks to create a child process which, in turn, in order to execute string. If the fork fails, returns -1 and sets If the exec fails, returns the status value returned by (see wait(2)) for a process that terminates with a call of ERRORS
If errors are encountered, sets values as described by fork(2). FILES
SEE ALSO
sh(1), fork(2), exec(2), wait(2), thread_safety(5). STANDARDS CONFORMANCE
system(3S)
All times are GMT -4. The time now is 08:24 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy