Sponsored Content
Top Forums UNIX for Dummies Questions & Answers how to run a shell command from C program? Post 6069 by rwb1959 on Wednesday 29th of August 2001 12:05:08 PM
Old 08-29-2001
shell command from C

Check out then man pages for...
system(3) and popen(3)

Typically you would "exec" after a fork()
call. While execvp can work, you may have
some issue with the conversion of the
"input" into an appropriate form for the
call.
int execvp( const char *file, char *const argv[]);
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

want to run different files under the same program using shell script

suppose have different files 1.1 2.2 3.3 4.4 5.5 All the files have to run under the same command say tr -d '\n' so how to run all the files under the same command by using shell script (3 Replies)
Discussion started by: cdfd123
3 Replies

2. Shell Programming and Scripting

Run shell program in perl

Hello , I want to run some shell scripts in my perl script. I need to read the script's name from a file ( this file includes the name of all the scripts) and run the script one by one.. Please let me know how to go .. Thanks in advance, Radha (5 Replies)
Discussion started by: s123.radha
5 Replies

3. Shell Programming and Scripting

Run a command on new created shell

Hi I am using a command "script" to capture the output of a command my script is #/bin/sh script filename.txt ./execute_some_script.sh exit exit Now my problem is that when my script run "script filename.txt" its fork a new shell and after the no other command execute The remaining... (2 Replies)
Discussion started by: sushantnirwan
2 Replies

4. Shell Programming and Scripting

Run a command in a special shell

Hi there, Imagine we have to run a command in python shell from a perl script. 1 #!/usr/bin/perl 2 use strict; 3 my @con; 4 @con = `python`; 5 #?????print `print 'salaam'`;???? What's suitable situation for fifth line? Thanks in advance. (4 Replies)
Discussion started by: Zaxon
4 Replies

5. Shell Programming and Scripting

Run shell script from C program by calling fork and execl

I need to write a c program that uses the fork and excel system calls to run the shell script mode invoked like this: "./mode 644 ls -l" (that is the argumetns will always be 644 ls -l) here's the mode script: #!/bin/sh octal="$1" shift find . -maxdepth 1 -perm $octal -exec $@ {} \; ... (3 Replies)
Discussion started by: computethis
3 Replies

6. Shell Programming and Scripting

Shell script to run a python program on multiple entries in a file

Hello I am trying to run a python program using shell script, which takes a single argument from a file. This file has one entry per line : 1aaa 2bbb 3ccc 4ddd 5eee ... ... ... My shell script runs the program, only for the last entry : #!/bin/sh IFS=$'\n' for line in $(cat... (2 Replies)
Discussion started by: ad23
2 Replies

7. Shell Programming and Scripting

Help to hide shell terminal and run prompt program after ssh login for specified user

Hey guys, I have some task from my office to lock user on the specified directory after the user logged on using ssh. And then run prompt program to fill the required information. Yeah, just like an ATM system. My question: How could I do those?? AFAIK I have to edit the ~./bashrc. But the... (1 Reply)
Discussion started by: franzramadhan
1 Replies

8. UNIX Desktop Questions & Answers

command to run another shell on top of your default shell?

Can someone point me to the right command to to run another shell on top of your default shell? Thanks PS If admin sees this It is not home work. I am old man who wants to learn unix in my spare time. I CURRENTLY DO NOT GO SCHOOL, COLLEGE OR UNIVERSITY. (2 Replies)
Discussion started by: Bill Thompson
2 Replies

9. Shell Programming and Scripting

Perl program to run a Shell script issues...

Hi all, I have the following Perl script which is intended to run a Shell script and generate some logging for the purposes of tracking weather or not the script ran. I get an error, of course, since I don't know what I'm doing really. Here is the code: #!/opt/perl/bin/perl -w ... (14 Replies)
Discussion started by: zixzix01
14 Replies

10. Shell Programming and Scripting

Read files in shell script code and run a C program on those files

HI, I am trying to implement a simple shell script program that does not make use of ls or find commands as they are quite expensive on very large sets of files. So, I am trying to generate the file list myself. What I am trying to do is this: 1. Generate a file name using shell script, for... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies
explain_execvp(3)					     Library Functions Manual						 explain_execvp(3)

NAME
explain_execvp - explain execvp(3) errors SYNOPSIS
#include <libexplain/execvp.h> const char *explain_execvp(const char *pathname, char *const *argv); const char *explain_errno_execvp(int errnum, const char *pathname, char *const *argv); void explain_message_execvp(char *message, int message_size, const char *pathname, char *const *argv); void explain_message_errno_execvp(char *message, int message_size, int errnum, const char *pathname, char *const *argv); DESCRIPTION
These functions may be used to obtain explanations for errors returned by the execvp(3) system call. explain_execvp const char *explain_execvp(const char *pathname, char *const *argv); The explain_execvp function is used to obtain an explanation of an error returned by the execvp(3) system call. The least the message will contain is the value of strerror(errno), but usually it will do much better, and indicate the underlying cause in more detail. The errno global variable will be used to obtain the error value to be decoded. This function is intended to be used in a fashion similar to the following example: if (execvp(pathname, argv) < 0) { fprintf(stderr, "%s ", explain_execvp(pathname, argv)); exit(EXIT_FAILURE); } The above code example is available pre-packaged as the explain_execvp_or_die(3) function. pathname The original pathname, exactly as passed to the execvp(3) system call. argv The original argv, exactly as passed to the execvp(3) system call. Returns: The message explaining the error. This message buffer is shared by all libexplain functions which do not supply a buffer in their argument list. This will be overwritten by the next call to any libexplain function which shares this buffer, including other threads. Note: This function is not thread safe, because it shares a return buffer across all threads, and many other functions in this library. explain_errno_execvp const char *explain_errno_execvp(int errnum, const char *pathname, char *const *argv); The explain_errno_execvp function is used to obtain an explanation of an error returned by the execvp(3) system call. The least the mes- sage will contain is the value of strerror(errnum), but usually it will do much better, and indicate the underlying cause in more detail. This function is intended to be used in a fashion similar to the following example: if (execvp(pathname, argv) < 0) { int err = errno; fprintf(stderr, "%s ", explain_errno_execvp(err, pathname, argv)); exit(EXIT_FAILURE); } The above code example is available pre-packaged as the explain_execvp_or_die(3) function. errnum The error value to be decoded, usually obtained from the errno global variable just before this function is called. This is neces- sary if you need to call any code between the system call to be explained and this function, because many libc functions will alter the value of errno. pathname The original pathname, exactly as passed to the execvp(3) system call. argv The original argv, exactly as passed to the execvp(3) system call. Returns: The message explaining the error. This message buffer is shared by all libexplain functions which do not supply a buffer in their argument list. This will be overwritten by the next call to any libexplain function which shares this buffer, including other threads. Note: This function is not thread safe, because it shares a return buffer across all threads, and many other functions in this library. explain_message_execvp void explain_message_execvp(char *message, int message_size, const char *pathname, char *const *argv); The explain_message_execvp function may be used to obtain an explanation of an error returned by the execvp(3) system call. The least the message will contain is the value of strerror(errno), but usually it will do much better, and indicate the underlying cause in more detail. The errno global variable will be used to obtain the error value to be decoded. This function is intended to be used in a fashion similar to the following example: if (execvp(pathname, argv) < 0) { char message[3000]; explain_message_execvp(message, sizeof(message), pathname, argv); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } The above code example is available pre-packaged as the explain_execvp_or_die(3) function. message The location in which to store the returned message. If a suitable message return buffer is supplied, this function is thread safe. message_size The size in bytes of the location in which to store the returned message. pathname The original pathname, exactly as passed to the execvp(3) system call. argv The original argv, exactly as passed to the execvp(3) system call. explain_message_errno_execvp void explain_message_errno_execvp(char *message, int message_size, int errnum, const char *pathname, char *const *argv); The explain_message_errno_execvp function may be used to obtain an explanation of an error returned by the execvp(3) system call. The least the message will contain is the value of strerror(errnum), but usually it will do much better, and indicate the underlying cause in more detail. This function is intended to be used in a fashion similar to the following example: if (execvp(pathname, argv) < 0) { int err = errno; char message[3000]; explain_message_errno_execvp(message, sizeof(message), err, pathname, argv); fprintf(stderr, "%s ", message); exit(EXIT_FAILURE); } The above code example is available pre-packaged as the explain_execvp_or_die(3) function. message The location in which to store the returned message. If a suitable message return buffer is supplied, this function is thread safe. message_size The size in bytes of the location in which to store the returned message. errnum The error value to be decoded, usually obtained from the errno global variable just before this function is called. This is neces- sary if you need to call any code between the system call to be explained and this function, because many libc functions will alter the value of errno. pathname The original pathname, exactly as passed to the execvp(3) system call. argv The original argv, exactly as passed to the execvp(3) system call. SEE ALSO
execvp(3) execute a file explain_execvp_or_die(3) execute a file and report errors COPYRIGHT
libexplain version 0.52 Copyright (C) 2009 Peter Miller explain_execvp(3)
All times are GMT -4. The time now is 04:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy