Sponsored Content
Top Forums Shell Programming and Scripting The loop does not run as expected Post 302078537 by nir_s on Sunday 2nd of July 2006 07:44:19 AM
Old 07-02-2006
I found the problem but I didn't find a solution.
The loop is OK. The problem is that the function exit from the operation after "rsh" command and does not continue to the next iteration.

I wrote the following testing program:
Code:
#! /bin/ksh

CONF_FILE=nir.conf
export $(< $CONF_FILE)
run_install_sr()
{
cat ${CONF_FILE} | grep INSTALL_SR_ | grep :Y | while read line
do
  INSTALL_SR_DIR=`echo $line | cut -d= -f2 | cut -d: -f1`

  echo Install SR directory is $INSTALL_SR_DIR
  rsh ${DB_HOST_NAME} hostname 
done
}

nir.conf content is:
Code:
DB_HOST_NAME=tornado
INSTALL_SR_1=/home/Upgrade_4.7.1/Utilities/Install_SR:Y
INSTALL_SR_2=/home/Upgrade_4.7.2/Utilities/Install_SR:Y
INSTALL_SR_3=/home/Upgrade_4.8/Utilities/Install_SR:Y
INSTALL_SR_4=/home/Upgrade_4.8.1/Utilities/Install_SR:Y

When I run the script I get the following output:
Code:
tornado:> ./nir.ksh 
Install SR directory is /home/Upgrade_4.7.1/Utilities/Install_SR
tornado

If I remark the rsh command in the script ,I get the following output:
Code:
tornado:> ./nir.ksh 
Install SR directory is /home/Upgrade_4.7.1/Utilities/Install_SR
Install SR directory is /home/Upgrade_4.7.2/Utilities/Install_SR
Install SR directory is /home/Upgrade_4.8/Utilities/Install_SR
Install SR directory is /home/Upgrade_4.8.1/Utilities/Install_SR

As you can see,the loop works fine and the problem is with the rsh command - the function is getting out from the loop after the first iteration instead of continuing to the next iteration.

Any ideas?

Thanks in advance,
Nir
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script doesn't work as expected when run on cron

The script checks for free space stats on Oracle. If there are any tablespaces with more than 85% usage it prints the details of the tablespace. If all the tablespaces have more than 15% free space, then "All tablespaces have more than 15 pct free space" must be printed on the screen. When I run... (2 Replies)
Discussion started by: RoshniMehta
2 Replies

2. Shell Programming and Scripting

Is there a better way I could have run this loop. (For loop with two variables)

Sorry for such a dreadful title, but I'm not sure how to be more descriptive. I'm hoping some of the more gurutastic out there can take a look at a solution I came up with to a problem, and advice if there are better ways to have gone about it. To make a long story short around 20K pieces of... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

3. Shell Programming and Scripting

How To Run A For Loop In A Remsh?

Hi all, I'm trying to remsh to another server and then execute a for loop command there but I'm getting unexpected errors and would appreciate any suggestions. Ideally what I want to do is this: for host in `cat host_file` do remsh $host -n " cd /home/ for DATABASE in `ls -d... (5 Replies)
Discussion started by: Korn0474
5 Replies

4. Shell Programming and Scripting

For loop to run external program

Hi, I was hoping for help with a for loop to run a program (vina) repeatedly using all the files in a folder as input. Currently my code looks like this: #!/bin/bash FILES=/home/afalk/Desktop/battest/*.pdbqt for f in $FILES do vina --config /home/afalk/Desktop/A.txt --ligand "$f".pdbqt done... (5 Replies)
Discussion started by: oldmanwinter
5 Replies

5. Shell Programming and Scripting

How do I run a shell command in a while loop?

The command is: sic -h irc.freenode.net 2>&1 | tee -a irc.log Where sic is an IRC client, and I'm piping the output to tee in order to log my IRC sessions. I'm trying to handle reconnects by running it in a while loop in the shell process and cat the initial commands into sic's stdin. I... (1 Reply)
Discussion started by: guitarscn
1 Replies

6. Shell Programming and Scripting

Script for telnet and run one command kill it and run another command using while loop

( sleep 3 echo ${LOGIN} sleep 2 echo ${PSWD} sleep 2 while read line do echo "$line" PID=$? sleep 2 kill -9 $PID done < temp sleep 5 echo "exit" ) | telnet ${HOST} while is executing only command and exits. (5 Replies)
Discussion started by: sooda
5 Replies

7. Shell Programming and Scripting

How to run it in the loop??

I have this code awk -F, ' { C5+=$5 C6+=$6 C7+=$7 C8+=$8 R=$5+$6+$7+$8 T+=R } { print $0,R } END { print... (7 Replies)
Discussion started by: nikhil jain
7 Replies

8. Shell Programming and Scripting

Run the for loop in parallel

I have the below code which runs on multiple databases , but this runs one-after-one. I will need this to run in parallel so that i could save a lot of time. Please help!!! Thanks in advance for Db in `cat /var/opt/oracle/oratab |egrep -v "ASM" |grep -v \# |cut -d\: -f1` do { export... (5 Replies)
Discussion started by: jjoy
5 Replies

9. Shell Programming and Scripting

Trying to run a basic for loop

OS : RHEL 6.1 Shell : Bash I had a similair post on this a few weeks back. But I didn't explain my requirements clearly then. Hence starting a new thread now. I have lots of files in /tmp/stage directory as show below. I want to loop through each files to run a command on each file. I... (8 Replies)
Discussion started by: kraljic
8 Replies

10. Shell Programming and Scripting

For loop not giving expected output

#cat /tmp/input old_array old_dev new_dev new_array 0577 008AB 01744 0125 0577 008AC 01745 0125 0577 008AD 005C8 0125 0577 008AE 005C9 0125 0577 008AF 005CA 0125 0577 008B0 005CB 0125 0577 008B1 005CC 0125 cat test.sh #!/bin/ksh... (4 Replies)
Discussion started by: mbak
4 Replies
INSTALL-MH(8)                                                        [nmh-1.5]                                                       INSTALL-MH(8)

NAME
install-mh - initialize the nmh environment SYNOPSIS
/usr/lib/mh/install-mh [-auto] [-check] [-version] [-help] DESCRIPTION
Install-mh is the nmh program to create the initial setup for a first-time nmh user. Install-mh lives in two places for historical rea- sons. The -auto option does things as automatically as possible and makes install-mh less chatty. The user is asked for the name of the directory that will be designated as the user's nmh directory. If this directory does not exist, the user is asked if it should be created. Normally, this directory should be under the user's home directory, and has the default name of ``Mail''. Install-mh writes an initial .mh_profile for the user. As with all nmh commands, install-mh first checks for the existence of the $MH environment variable since that gives the profile path if set. If it isn't set, the $HOME environment variable is consulted to determine the user's home directory. If $HOME is not set, then the /etc/passwd file is consulted. When creating the users initial .mh_profile, install-mh will check for the existence of a global profile /etc/nmh/mh.profile. If found, this will be used to initialize the new .mh_profile. The -check option can be used to check whether or not nmh has been installed. This can be used by other programs to determine whether or not nmh has been installed without their having to know the internals of nmh. FILES
$HOME/.mh_profile The user profile /etc/nmh/mh.profile Used to initialize user profile PROFILE COMPONENTS
Path: To set the user's nmh directory CONTEXT
With -auto, the current folder is changed to "inbox". MH.6.8 11 June 2012 INSTALL-MH(8)
All times are GMT -4. The time now is 04:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy