Sponsored Content
Top Forums Programming How to pass C array as input to Shell script Post 302312086 by Corona688 on Thursday 30th of April 2009 10:25:50 AM
Old 04-30-2009
Code tags for code please. [code] stuff [/code] without the extra spaces in the tags.

Your array is too big. You specify that it has two elements but give it three initializers. This probably produces a warning.

To do what you want you need to convert it into a string. If it will always just have three initializers it could probably be made simpler but this should work for any size of array.
Code:
#include <stdio.h>
// for execlp()
#include <unistd.h>

int main()
{
  const char *script="echo";
  const char *prefix="";
  int pos=0, n;
  char buf[256];
  int a[3]={1,2,3};

  for(n=0; n<3; n++)
  {
    pos+=snprintf(buf+pos, 256-pos, "%s%d", prefix, a[n]);
  }
  printf("will call %s with %s\n", script, buf);

  // Note that this command never returns unless it fails to run at all.
  execlp(script, script, buf, NULL);
  // If the program is still running, then execlp failed, so return error
  return(1);
}


Last edited by vgersh99; 04-30-2009 at 12:14 PM.. Reason: added
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pass array variabel to awk from shell

Hi I need to pass an array to Awk script from Shell. Can you please tell how to do it? How to pass this array add_ct_arr to an awk script or access it in awk? i=1 while ; do add_ct_arr=$(echo ${adda_count} | awk -v i=$i -F" " '{print $i;}') echo ${add_ct_arr} ... (1 Reply)
Discussion started by: appsguy616
1 Replies

2. Shell Programming and Scripting

How to pass an array from SHELL to C function

Hi, I have an output generated from a shell script like; 0x41,0xF2,0x59,0xDD,0x86,0xD3,0xEF,0x61,0xF2 How can I pass this value to the C function, as below; int main(int argc, char *argv) { unsigned char hellopdu={above value}; } Regards Elthox (1 Reply)
Discussion started by: elthox
1 Replies

3. Shell Programming and Scripting

Can we pass an array of strings from a Perl Program to a Shell Script?

Hi Folks, The subject is my question: Can we pass an array of strings from a Perl Program to a Shell Script? Please provide some sample code. Thanks ---------- Post updated at 11:52 PM ---------- Previous update was at 11:43 PM ---------- I got it. Its here:... (0 Replies)
Discussion started by: som.nitk
0 Replies

4. UNIX for Dummies Questions & Answers

how to pass input from c program to shell script?

Hello.. I am developing a Graphical User Interface using GTK. As part of our project I need to take inputs from GTK entries and pass those inputs to shell script and use them in shell script. The problem which struck me is only limited number of inputs are getting passed to shell script. For now... (14 Replies)
Discussion started by: kalyanilinux
14 Replies

5. Shell Programming and Scripting

create an array which can store the strings from the user input in shell script

I want to create an array which can store the strings from the user input in shell script . example :- I want to store the 5 fruits name in a single array which the user provides . (1 Reply)
Discussion started by: Pkast
1 Replies

6. Shell Programming and Scripting

How to pass an array to a function in shell script.?

hi, I have a array say SAP_ARRAY="s1.txt" SAP_ARRAY="s2.txt" how can i pass this full array to a function. here is the sample code i am using.. CHECK_NO_FILES() { FARRAY=$1 echo "FARRAY = $FARRAY" echo "FARRAY = $FARRAY" ............... (5 Replies)
Discussion started by: Little
5 Replies

7. Shell Programming and Scripting

Read input from file and pass it to sub shell

i have a scenario where in i have to monitor jobs which run in different servers, The job details(job name, host server, etc) are present in a dat file. I have written a script a script which reads the details from the dat file and calls a local method where the job monitoring logic is present.... (2 Replies)
Discussion started by: abubucker0
2 Replies

8. UNIX for Dummies Questions & Answers

Pass array to shell and print

How do i pass an array from test4.sh to a function in another shell script test5.sh, basically i am sourcing the test5.sh in test4.sh and printing the contents, but not working below are my trial scripts, please help, thank you. #!/bin/bash # /usr/local/dw/archive/test5.sh print_array() {... (5 Replies)
Discussion started by: Ariean
5 Replies

9. Shell Programming and Scripting

Pass C shell array to another C shell script(csh) and shell(sh)

Dear Friends, Please help me on this my script name is send.csh In this i have written the statement like this set args = ( city state country price ) I want to pass this array to another c shell called receiver.csh. and i want to use it in this c shell or how to pass to... (2 Replies)
Discussion started by: SA_Palani
2 Replies

10. Shell Programming and Scripting

How to pass and read an array in ksh shell script function.?

I'm able to read & print an array in varaible called "filelist" I need to pass this array variable to a function called verify() and then read and loop through the passed array inside the function. Unfortunately it does not print the entire array from inside the funstion's loop. #/bin/ksh... (5 Replies)
Discussion started by: mohtashims
5 Replies
ui_compat(3)							      OpenSSL							      ui_compat(3)

NAME
des_read_password, des_read_2passwords, des_read_pw_string, des_read_pw - Compatibility user interface functions SYNOPSIS
int des_read_password(DES_cblock *key,const char *prompt,int verify); int des_read_2passwords(DES_cblock *key1,DES_cblock *key2, const char *prompt,int verify); int des_read_pw_string(char *buf,int length,const char *prompt,int verify); int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify); DESCRIPTION
The DES library contained a few routines to prompt for passwords. These aren't necessarely dependent on DES, and have therefore become part of the UI compatibility library. des_read_pw() writes the string specified by prompt to standard output turns echo off and reads an input string from the terminal. The string is returned in buf, which must have spac for at least size bytes. If verify is set, the user is asked for the password twice and unless the two copies match, an error is returned. The second password is stored in buff, which must therefore also be at least size bytes. A return code of -1 indicates a system error, 1 failure due to use interaction, and 0 is success. All other functions described here use des_read_pw() to do the work. des_read_pw_string() is a variant of des_read_pw() that provides a buffer for you if verify is set. des_read_password() calls des_read_pw() and converts the password to a DES key by calling DES_string_to_key(); des_read_2password() oper- ates in the same way as des_read_password() except that it generates two keys by using the DES_string_to_2key() function. NOTES
des_read_pw_string() is available in the MIT Kerberos library as well, and is also available under the name EVP_read_pw_string(). SEE ALSO
ui(3), ui_create(3) AUTHOR
Richard Levitte (richard@levitte.org) for the OpenSSL project (http://www.openssl.org). 0.9.7a 2001-10-25 ui_compat(3)
All times are GMT -4. The time now is 08:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy