Sponsored Content
Top Forums Shell Programming and Scripting bash-function with array acting bizarre, bug? Post 302281017 by otheus on Wednesday 28th of January 2009 04:25:36 AM
Old 01-28-2009
Okay, I see. Your error-recovery is to recurse. BAD IDEA. When the code detects a bad input, it should re-start a loop, NOT re-call the function. In re-calling the function, you do not terminate the loop, so after the re-call completes, the first call of the function continues right there and adds to HI_HOSTS again.

Welcome to the pitfalls of global variables and recursion.

It should be like this:
Code:
# pseudo code
valid-input=false
while ! valid-input
  prompt
  get input
  for each hostnum
     if hostnum is invalid
        invalid-hosnum=TRUE
        echo "hostnum doesn't match"
     else
        hosts=$hosts + $hostlist[ hostnum ]
   if invalid-hostnum 
      echo Please try again
   else
      valid-input=TRUE
return $hosts

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Function Bug in script - need help

My script is erroring with: testtapemgr.sh: FTP_RETURNS: not found I cannot see what I am doing wrong..when it calls that function from the Volume returns function and says taht FTP_RETURNS is not found and exits out of the script. What am I not seeing here? #### Return Volume Function ... (4 Replies)
Discussion started by: gzs553
4 Replies

2. Shell Programming and Scripting

[BASH - KSH] Passing array to a function

Passing a array to a function, a basic feature in modern language, seems to be only possible in KSH. Not in BASH. Depite all my efforts I couldn't come to a solution. See the following examples: It works perfectly in KSH: #!/usr/bin/ksh function print_array { # assign array by indirect... (3 Replies)
Discussion started by: ripat
3 Replies

3. Shell Programming and Scripting

Array in loop is acting up

Hello! I have a question about loops and arrays. I'm trying to go through this: for aa in 01 02 03 OrigNum=$(grep ${Orig} Ba3In2F12.prepos | wc -l) OrigNum=$((${OrigNum} - 1)) echo ${OrigNum} etc It gets stuck on the second line. The error reads: ./asdf: line 30:... (5 Replies)
Discussion started by: RisingSun
5 Replies

4. Shell Programming and Scripting

[bash] passing array to function

Hi, I'm trying to write a function that reassigns an array to another local array but the method used in reassigning the array reformats the contents of the array which is what I am trying to prevent. The method used to load a file into an array works as expected and the entire array is... (4 Replies)
Discussion started by: ASGR
4 Replies

5. Shell Programming and Scripting

Bug in Function Call

Can anybody tell me where is the bug in this below mentioned function call. #The String Search File myString="${LOCATION}/config/stringFile.txt" # Functional Usage function usage() { if ; then echo "************************************************************" ... (5 Replies)
Discussion started by: baraghun
5 Replies

6. Shell Programming and Scripting

BASH weird acting: unquoted parameter accepted as quoted one !

In one session I have strange behavior of the bash-shell: SDX-Q> echo ">$ss<" #this is just to present the $ss var: > lll kkk < SDX-Q> # more obviose: SDX-Q> od -cb <<<"$ss" 0000000 l l l k k k \n 040 040 040 154 154 154 040... (3 Replies)
Discussion started by: alex_5161
3 Replies

7. Shell Programming and Scripting

Sort function UNIX bug ???

Hello there i have a funny behiavor of the sort fonction, i try it out on different Solaris machine and i have the same issue. So i would like to see if there is a rationel explanation here is some data in a file:test.txt ,Test,RSD,RSD_Asset ,Test,RSD,RSD_Credit ,Test,RSD,RSD_Liab... (3 Replies)
Discussion started by: kykyboss
3 Replies

8. Programming

Tweaked getpass() function gives an untraceable bug

I have customized the getpass() as follows: char* my_getpass(const char* str) { struct termios oflags, nflags; static char passwd; /* disabling echo */ tcgetattr(fileno(stdin), &oflags); nflags = oflags; nflags.c_lflag &= ~ECHO; nflags.c_lflag |= ECHONL; ... (3 Replies)
Discussion started by: royalibrahim
3 Replies

9. Shell Programming and Scripting

Bash script acting funny when run from Crontab

Hello, first time here. I have a script that seems to ignore the if statement when run from the cron. I am using Ubuntu 12.10 #!/bin/bash DOWN=/usr/sbin/dcon UP="pon dsl-provider" LOG=/var/log/dsl-reconnect.log RECV=`ifconfig 2>&1|grep ppp0|cut -d , -f 5|cut -d " " -f 1` if ] then... (1 Reply)
Discussion started by: mkoster
1 Replies

10. What is on Your Mind?

Small bug in the Quick Editor function in postbit

Hey, There was a small bug in the Quick Editor function in postbit, but I fixed it (basically a double quote was missing from an element id): <div id="post_message_$post" class="neo-message-area">$post</div> Was <div id="post_message_$post class="neo-message-area">$post</div> Should... (1 Reply)
Discussion started by: Neo
1 Replies
KRB5_GET_KRBHST(3)					   BSD Library Functions Manual 					KRB5_GET_KRBHST(3)

NAME
krb5_get_krbhst, krb5_get_krb_admin_hst, krb5_get_krb_changepw_hst, krb5_get_krb524hst, krb5_free_krbhst -- lookup Kerberos KDC hosts LIBRARY
Kerberos 5 Library (libkrb5, -lkrb5) SYNOPSIS
#include <krb5.h> krb5_error_code krb5_get_krbhst(krb5_context context, const krb5_realm *realm, char ***hostlist); krb5_error_code krb5_get_krb_admin_hst(krb5_context context, const krb5_realm *realm, char ***hostlist); krb5_error_code krb5_get_krb_changepw_hst(krb5_context context, const krb5_realm *realm, char ***hostlist); krb5_error_code krb5_get_krb524hst(krb5_context context, const krb5_realm *realm, char ***hostlist); krb5_error_code krb5_free_krbhst(krb5_context context, char **hostlist); DESCRIPTION
These functions implement the old API to get a list of Kerberos hosts, and are thus similar to the krb5_krbhst_init() functions. However, since these functions returns all hosts in one go, they potentially have to do more lookups than necessary. These functions remain for com- patibility reasons. After a call to one of these functions, hostlist is a NULL terminated list of strings, pointing to the requested Kerberos hosts. These should be freed with krb5_free_krbhst() when done with. EXAMPLES
The following code will print the KDCs of the realm ``MY.REALM''. char **hosts, **p; krb5_get_krbhst(context, "MY.REALM", &hosts); for(p = hosts; *p; p++) printf("%s ", *p); krb5_free_krbhst(context, hosts); SEE ALSO
krb5_krbhst_init(3) HEIMDAL
April 24, 2005 HEIMDAL
All times are GMT -4. The time now is 01:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy