Hi guys,
So my code is below. This is a simplified version of the shell... It does not continue for ever... I guess its actually rather a program to accept a command.. has the fork and the execve etc. Anyways when i compile it and run it in the terminal for some reason only '/bin/echo "enter text here"' works...
But when i try to use a command like /bin/ls "directory" it wont work.. but when i call /bin/ls "directory" in the terminal (not in my half-shell) it works perfectly fine.. So i dont know if this could be a problem with my code.
Thanks
Guys
Code:
#include <string.h>
#include <errno.h>
#include <stdio.h>
#define TRUE 1
int main()
{
int n = 0;
int status;
char *argv[100];
char temp[256];
fgets(temp, sizeof(temp), stdin);
argv[n++] = strtok (temp," ");
while (argv[n-1] != NULL)
argv[n++] = strtok (NULL, " ");
// This is merely to print out what got splitted for the tokens////////////////////////////
int b=0;
while (argv[b] != NULL)
{
printf ("%s\n", argv[b]);
b++;
}
//////////////////////////////////////////////////////////////////////////////
if (fork() != 0)
{
waitpid(-1, &status, 0);
}
else
{
if (execve(argv[0], argv, 0) == -1) /* execute command */
printf(": %s\n", strerror(errno));
}
}
I'm working with telnet under windows and Xming. I connect to a network computer and I open Xterm. With Xterm I want to be able to open more than one windows like firefox, nedit etc.
Example : When a open firefox on the xterm, I type "firefox", after that, I cannot make an other command until I... (1 Reply)
Hi.. Everyone...
Kindly consider following :
login as: root
Using keyboard-interactive authentication.
Password:
Last login: Mon Nov 3 19:30:50 2008 from xxxxxxxxxxx
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have new mail.
Sourcing //.profile-EIS.....
#
#
... (3 Replies)
I have to
Write a program in C that recognizes the following commands and translates them into much simpler ones
Commands to recognize shorter command
list L
cd dir C - dir_length - dir
get file_name G - file_name_length - file_name
Long commands are read from the standard input and... (1 Reply)
I have to
Write a program in C that recognizes the following commands and translates them into much simpler ones
Commands to recognize shorter command
list
L
cd dir
C - dir_length - dir
get file_name G - file_name_length - file_name
Long commands are read from the standard input... (1 Reply)
Hi All,
Linux lxs3er06 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux
Issue:
While executing shell scripts in bash shell, following error messages are thrown:
rm:command not found
On doing little investigation, I added '/bin' to $PATH and on doing echo... (9 Replies)
HI, guys, I am having some problem with the echo command, so I want to echo some text to a file name loginFile, the result inside the loginFile should looks like:
expect ">"
so what I did is:
echo "expect "">""" >> $loginFile
but it just gave out:
expect >
The thing is I still need... (2 Replies)
Hello,
I have written a command n shell script :
srvctl relocate service -d t1 -s s1 -i i1 -t t1 -f
If the above command executes successfully without error I need to echo
"Service relocated successfully
and If it errors out I need to trap the errors in a file and also need to make... (1 Reply)
Hi,
i am new here let me say HI for all.
now i have a question please:
i am sending one command to my machine to create 3 names.
if one of the names exists then the box return error message that already have the name but will continue to create the rests.
How i can break the command and... (7 Replies)
Discussion started by: Amiri
7 Replies
LEARN ABOUT OSX
isaexec
isaexec(3C) Standard C Library Functions isaexec(3C)NAME
isaexec - invoke isa-specific executable
SYNOPSIS
#include <unistd.h>
int isaexec(const char *path, char *const argv[], char *const envp[]);
DESCRIPTION
The isaexec() function takes the path specified as path and breaks it into directory and file name components. It enquires from the running
system the list of supported instruction set architectures; see isalist(5). The function traverses the list for an executable file in named
subdirectories of the original directory. When such a file is located, execve() is invoked with argv[] and envp[]. See exec(2).
RETURN VALUES
If no file is located, isaexec() returns ENOENT. Other return values are the same as for execve().
EXAMPLES
Example 1: Example of isaexec() function.
On a system whose isalist is
sparcv7 sparc
the program
int
main(int argc, char *argv[], char *envp[])
{
return (isaexec("/bin/thing", argv, envp));
}
will look first for an executable file named /bin/sparcv7/thing, then for an executable file named /bin/sparc/thing. It will invoke
execve() on the first executable file it finds named thing.
On that same system, a program called /u/bin/tofu can cause either /u/bin/sparcv7/tofu or /u/bin/sparc/tofu to be invoked using the follow-
ing code:
int
main(int argc, char *argv[], char *envp[])
{
return (isaexec(getexecname(), argv, envp));
}
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |Safe |
+-----------------------------+-----------------------------+
|Interface Stability |Stable |
+-----------------------------+-----------------------------+
SEE ALSO exec(2), getexecname(3C), attributes(5), isalist(5)SunOS 5.10 20 Mar 1998 isaexec(3C)