Sponsored Content
Top Forums Shell Programming and Scripting Bash function failing with [: too many arguments Post 303004851 by jakeroberts on Tuesday 10th of October 2017 07:41:09 AM
Old 10-10-2017
Bash function failing with [: too many arguments

I'm reading Wicked Cool Shell Scripts. For some reason, the function pasted in below gives the error: ./inpath2: line 10: [: too many arguments. What am I missing?





Code:
in_path()
  4 {
  5 cmd=$1     ourpath=$2    result=1
  6 oldIFS=$IFS   IFS=":"
  7 
  8 for directory in "$ourpath"
  9 do
 10   if [ -x $directory/$cmd ] ; then
 11     result=0
 12   fi
 13   done
 14 
 15   IFS=$oldIFS
 16   return $result
 17 
 18 }


Last edited by Scott; 10-10-2017 at 08:41 AM.. Reason: Replaced ICODE with CODE tags
 

10 More Discussions You Might Find Interesting

1. Programming

sscanf function is failing

Please delete this thread. (0 Replies)
Discussion started by: jxh461
0 Replies

2. Shell Programming and Scripting

no of arguments to function in shell script

Hi, I have a function in shell script fun1{ echo "No.of arguments are..."} this function will be called in same script by passing arguments fun 1 2 3 I want to check the no. of arguments passed to fun1 function in the same functionbefore validation. can any one suggest me. (2 Replies)
Discussion started by: KiranKumarKarre
2 Replies

3. Programming

Error: too many arguments to function 'sigwait'

#include <pthread.h> #include <signal.h> ... sigset_t mask; int err,signo; err=sigwait(&mask,&signo); switch(signo){ case SIGINT: ... } when I compile above code under solaris 10,it raise following error: error: too many arguments to function 'sigwait' I look up signal... (4 Replies)
Discussion started by: konvalo
4 Replies

4. Shell Programming and Scripting

cat arguments to a function

Hi, I've a logging function in bourne shell, flog() which logs the first argument passed to it. How can I pass arguments to this function from a file, like cat filename | sed '...filtering...' | flog or cat filename | sed '...filtering...' | xargs flog Which did not work, after which... (3 Replies)
Discussion started by: Random_Net
3 Replies

5. UNIX for Advanced & Expert Users

Function not called when no arguments is passed

Hi Guys, I am trying to pass arguments to the script i am wrinting. When no argument is passed or wrong argument is passed, the script needs to output the way it needs to be called and exit. Currently, when no arguments is passed, it is not getting exited but goes on assuming those... (3 Replies)
Discussion started by: mac4rfree
3 Replies

6. Shell Programming and Scripting

bash read within function with arguments

I have trouble getting this logic to work #!/bin/bash function assign_var(){ while do read -p "$2 :" $3 done } assign_var '$IPADDRESS' ipaddress IPADDRESS Basicly, i want to make sure that entry is made (i can add more sophisticated checks later), but the idea is to recycle... (11 Replies)
Discussion started by: serverchief
11 Replies

7. Shell Programming and Scripting

Need to call a function with arguments

I need to call a function within a code with $database and $ service as the arguments How do I proceed ? and how would a function be defined and these two arguments would be used inside the function? calc_pref_avail $database $service Best regards, Vishal (7 Replies)
Discussion started by: Vishal_dba
7 Replies

8. UNIX for Dummies Questions & Answers

Invoke Function WithOut Non-Positional Arguments

Hello Everyone, Is there a way i can pass the arguments as parameters or variables instead of positional arguments to a function, below i am calling the function defined in a script. Call: notify "Error While Generating The List File: ${GEN_PARAM_LIST9} For Feed Data Validation Errors In... (1 Reply)
Discussion started by: Ariean
1 Replies

9. Shell Programming and Scripting

Bash Regexp failing: unexpected token `('

Hey guys, I'm fairly new to bash scripting, so bear with me :) What I want to achieve is reading a file (.php), find the phrase 'WACHTWOORD' (password) in it, and collect the password and a part of the filename in a list. The filename is always 'settings_{name}.php' and the part I'm looking... (6 Replies)
Discussion started by: Eggie01
6 Replies

10. Shell Programming and Scripting

Call same function using 2 different arguments

I have a script that uses 2 arguments. I want to call the function part within this script using these same arguments. Below is what I came up with below script so far, any guidance would be helpful. Thank you! cat backup.sh #!/bin/bash function usage { echo "USAGE: $(basename $0)... (6 Replies)
Discussion started by: mbak
6 Replies
Qpsmtpd::Command(3pm)					User Contributed Perl Documentation				     Qpsmtpd::Command(3pm)

NAME
Qpsmtpd::Command - parse arguments to SMTP commands DESCRIPTION
Qpsmtpd::Command provides just one public sub routine: parse(). This sub expects two or three arguments. The first is the name of the SMTP command (such as HELO, MAIL, ...). The second must be the remaining of the line the client sent. If no third argument is given (or it's not a reference to a CODE) it parses the line according to RFC 1869 (SMTP Service Extensions) for the MAIL and RCPT commands and splitting by spaces (" ") for all other. Any module can supply it's own parsing routine by returning a sub routine reference from a hook_*_parse. This sub will be called with $self, $cmd and $line. On successfull parsing it MUST return OK (the constant from Qpsmtpd::Constants) success as first argument and a list of values, which will be the arguments to the hook for this command. If parsing failed, the second returned value (if any) will be returned to the client as error message. EXAMPLE
Inside a plugin sub hook_unrecognized_command_parse { my ($self, $transaction, $cmd) = @_; return (OK, &bdat_parser) if ($cmd eq 'bdat'); } sub bdat_parser { my ($self,$cmd,$line) = @_; # .. do something with $line... return (DENY, "Invalid arguments") if $some_reason_why_there_is_a_syntax_error; return (OK, @args); } sub hook_unrecognized_command { my ($self, $transaction, $cmd, @args) = @_; return (DECLINED) if ($self->qp->connection->hello eq 'helo'); return (DECLINED) unless ($cmd eq 'bdat'); .... } perl v5.14.2 2009-04-02 Qpsmtpd::Command(3pm)
All times are GMT -4. The time now is 01:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy