Sponsored Content
Top Forums Shell Programming and Scripting Problem in connecting to db in a loop Post 302970622 by Scrutinizer on Saturday 9th of April 2016 05:52:46 AM
Old 04-09-2016
@kshji oifs=$IFS and IFS=$oifs are not needed here and can be left out, since in IFS="|" read IFS is set local to the read command and does not affect the global IFS value.

Last edited by Scrutinizer; 04-09-2016 at 01:41 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Problem Connecting from Windows base OS to linux

I have a network consisting of Linux Server, Win-Nt & 95 OS. I am able to connect from Linux to Win-NT using either ftp / telnet in time. But it takes me around & more than 50 seconds to connect from Wint -Nt/95 to Linux using either ftp/telnet. My network is small & it hardly consists 20-25... (3 Replies)
Discussion started by: S.Vishwanath
3 Replies

2. UNIX for Dummies Questions & Answers

Connecting with X-win problem

Hello all, I am trying to connect to my Solaris 8 system with X-win. However, when i try to connect, a black screen comes up, then closes up immediatley. I have checked /var/dt/Xerrors, and I am getting the folllowing: Warning: Missing charsets in String to FontSet conversion Warning:... (2 Replies)
Discussion started by: dragunu
2 Replies

3. UNIX for Dummies Questions & Answers

Having A Problem Connecting to Oracle Using Cron

Can someone tell me how to prevent this? stty: standard input: Invalid argument ERROR: ORA-12154: TNS:could not resolve the connect identifier specified SP2-0306: Invalid option. Usage: CONN where <logon> ::= <username> | / ERROR: ORA-12162: TNS:net service name is incorrectly... (1 Reply)
Discussion started by: goodmis
1 Replies

4. Programming

Problem Connecting to Socket

Can anyone help? I'm trying to write a program which will write to a socket. I can get the server to run, but always get an error when I try to connect. It gives me an error at the "connect" command. It's probably a simple error, but I can't seem to find it. #include <sys/socket.h>... (6 Replies)
Discussion started by: Stevhp
6 Replies

5. Shell Programming and Scripting

Error connecting oracle from inside while loop

Hi, I m trying to connect oracle database from inside while loop. I m trying to put the output of sql query in a flat file. Anyone please help me out. cat $FILE_NAME | \ while read da_name do $ORACLE_HOME/bin/sqlplus -s user_name/password@instance << EOF >> $OUTPUT_FILE select... (3 Replies)
Discussion started by: Devesh5683
3 Replies

6. Post Here to Contact Site Administrators and Moderators

Problem connecting to www.unix.com

I've been having a problem connecting to the forum. I know it is just something with my computer but I have no idea what it is. It started last week. Every time I connect I get this: <?xml version="1.0" encoding="ISO-8859-1" ?> - <rss version="2.0"... (2 Replies)
Discussion started by: Vi-Curious
2 Replies

7. Shell Programming and Scripting

Problem in Connecting to Oracle Database using KornShell

Hello, I am very new to Scripting. I am having a Kornshell Script below for connecting to Oracle database. But getting an error while executing it. #!/bin/ksh ssh -X root@192.168.2.127 <perimuka> sleep 5 su - oracle sqlplus <mraghunandanan>/<peri123> <<eof Can anyone tell what is wrong... (3 Replies)
Discussion started by: mraghunandanan
3 Replies

8. UNIX for Dummies Questions & Answers

Problem connecting with Reflection X 14.1

Other people at work are able to connect but I am not. I am not sure if there is a setting that I am missing. Connecting from Win7 to Solaris 10. Connection attempt log: gnome-session Connecting 144.243.90.235 via TELNET Thu Mar 29 15:15:32 2012 login: *** Password: ******* Last login: Thu... (2 Replies)
Discussion started by: SIFT3R
2 Replies

9. UNIX for Dummies Questions & Answers

Problem connecting FreeBSD VM(Hyper-v) to internet

I created a VM for FreeBSD on hyper-v and i am having trouble connecting it to the internet. My virtual machine config are as below: 100 GB HD 1GB RAM Generation 1 Two Network adapters 1. Legacy Network Adapter 2. Network Adapter both are connected to network switch "Internet" which... (2 Replies)
Discussion started by: Vishawdeep
2 Replies

10. Shell Programming and Scripting

Sqlplus not connecting the 2nd time in for loop

Hi, I am trying to get the rows(First step is to get the poolid's and then second step run a loop to get the output based on each pool id and third connection is to get the member id and pool id based on a different condition) where based of certain conditions and storing it in a file. I wrote the... (6 Replies)
Discussion started by: ajayakunuri
6 Replies
popen(3C)						   Standard C Library Functions 						 popen(3C)

NAME
popen, pclose - initiate a pipe to or from a process SYNOPSIS
#include <stdio.h> FILE *popen(const char *command, const char *mode); int pclose(FILE *stream); DESCRIPTION
The popen() function creates a pipe between the calling program and the command to be executed. The arguments to popen() are pointers to null-terminated strings. The command argument consists of a shell command line. The mode argument is an I/O mode, either r for reading or w for writing. The value returned is a stream pointer such that one can write to the standard input of the command, if the I/O mode is w, by writing to the file stream (see intro(3)); and one can read from the standard output of the command, if the I/O mode is r, by reading from the file stream. Because open files are shared, a type r command may be used as an input filter and a type w as an output filter. The environment of the executed command will be as if a child process were created within the popen() call using fork(2). If the applica- tion is standard-conforming (see standards(5)), the child is invoked with the call: execl("/usr/xpg4/bin/sh", "sh", "-c", command, (char *)0); otherwise, the child is invoked with the call: execl("/usr/bin/sh", "sh", "-c", command, (char *)0); The pclose() function closes a stream opened by popen() by closing the pipe. It waits for the associated process to terminate and returns the termination status of the process running the command language interpreter. This is the value returned by waitpid(3C). See wait.h(3HEAD) for more information on termination status. RETURN VALUES
Upon successful completion, popen() returns a pointer to an open stream that can be used to read or write to the pipe. Otherwise, it returns a null pointer and may set errno to indicate the error. Upon successful completion, pclose() returns the termination status of the command language interpreter as returned by waitpid(). Other- wise, it returns -1 and sets errno to indicate the error. ERRORS
The pclose() function will fail if: ECHILD The status of the child process could not be obtained, as described in the DESCRIPTION. The popen() function may fail if: EMFILE There are currently FOPEN_MAX or STREAM_MAX streams open in the calling process. EINVAL The mode argument is invalid. The popen() function may also set errno values as described by fork(2) or pipe(2). USAGE
If the original and popen() processes concurrently read or write a common file, neither should use buffered I/O. Problems with an output filter may be forestalled by careful buffer flushing, for example, with fflush() (see fclose(3C)). A security hole exists through the IFS and PATH environment variables. Full pathnames should be used (or PATH reset) and IFS should be set to space and tab (" "). The signal handler for SIGCHLD should be set to default when using popen(). If the process has established a signal handler for SIGCHLD, it will be called when the command terminates. If the signal handler or another thread in the same process issues a wait(3C) call, it will interfere with the return value of pclose(). If the process's signal handler for SIGCHLD has been set to ignore the signal, pclose() will fail and errno will be set to ECHILD. EXAMPLES
Example 1: popen() example The following program will print on the standard output (see stdio(3C)) the names of files in the current directory with a .c suffix. #include <stdio.h> #include <stdlib.h> main() { char *cmd = "/usr/bin/ls *.c"; char buf[BUFSIZ]; FILE *ptr; if ((ptr = popen(cmd, "r")) != NULL) while (fgets(buf, BUFSIZ, ptr) != NULL) (void) printf("%s", buf); (void) pclose(ptr); return 0; } Example 2: system() replacement The following function can be used in a multithreaded process in place of the most common usage of the Unsafe system(3C) function: int my_system(const char *cmd) { FILE *p; if ((p = popen(cmd, "w")) == NULL) return (-1); return (pclose(p)); } ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
ksh(1), pipe(2), fclose(3C), fopen(3C), stdio(3C), system(3C), wait(3C), waitpid(3C), wait.h(3HEAD), attributes(5), standards(5) SunOS 5.10 17 Mar 2004 popen(3C)
All times are GMT -4. The time now is 02:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy