Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Function needs to be called based on its first character in a supplied string Post 303037127 by drysdalk on Wednesday 24th of July 2019 08:33:54 AM
Old 07-24-2019
Hi,

Assuming you're using Bash as your shell, this is the ideal situation for the case statement. Consider the following example:

Code:
$ cat data.txt
Jog
mog
cat
dog
jug
Man
$ cat script.sh
#!/bin/bash

function j
{
        echo "Function J has been called with the following parameter: $1"
        return
}

function m
{
        echo "Function M has been called with the following parameter: $1"
        return
}

while read parameter
do
        echo "Considering parameter "$parameter"..."

        case "$parameter" in
                J*|j*)
                        j "$parameter"
                        ;;
                M*|m*)
                        m "$parameter"
                        ;;
        esac
done < data.txt

$ ./script.sh
Considering parameter Jog...
Function J has been called with the following parameter: Jog
Considering parameter mog...
Function M has been called with the following parameter: mog
Considering parameter cat...
Considering parameter dog...
Considering parameter jug...
Function J has been called with the following parameter: jug
Considering parameter Man...
Function M has been called with the following parameter: Man
$

Here the script reads all the parameters one at a time from the file data.txt, and if they start with a lower- or upper-case J or M the appropriate function is called. If the parameter under consideration starts with any other character whatsoever, no function is called, and the script moves right on to the next parameter in the file, continuing in this manner until it reaches the end.

Hope this helps !
 

10 More Discussions You Might Find Interesting

1. Programming

How to get exit value of an executable that gets called from function?

How to get exit value of an executable that gets called from function? I have an executable called “myexec” which returns 0 on success and different values for different fail scenarios. I need to call this (myexec) executable from “myprog()” function of other executable and get the exit value... (1 Reply)
Discussion started by: sureshreddi_ps
1 Replies

2. Shell Programming and Scripting

Passing global variable to a function which is called by another function

Hi , I have three funcions f1, f2 and f3 . f1 calls f2 and f2 calls f3 . I have a global variable "period" which i want to pass to f3 . Can i pass the variable directly in the definition of f3 ? Pls help . sars (4 Replies)
Discussion started by: sars
4 Replies

3. UNIX for Dummies Questions & Answers

Cutting a string based on the third occcurence of a character

Hello, I am new to unix hence struggling with my requirement. I have a string like : ECR/CHQ/GBP/12345.out I need to get only the ECR/CHQ/GBP portion of the string(cut the string based on the third occurrence of / )...How do it do it? Many thanks (3 Replies)
Discussion started by: valluvan
3 Replies

4. Shell Programming and Scripting

exit from case - called in a function

Hello Experts, I am building a shell where I need to use case structure. The structure is in a function as in the sample code below: # Shell mySh #!/bin/sh doThis(){ var=$1 case "$var" in IT) echo "ok 1 $var" ;; ... (7 Replies)
Discussion started by: hkansal
7 Replies

5. Shell Programming and Scripting

Return a value from called function to the calling function

I have two scripts. script1.sh looks -------------------------------- #!/bin/bash display() { echo "Welcome to Unix" } display ----------------------------- Script2.sh #!/bin/bash sh script1.sh //simply calling script1.sh ------------------------------ (1 Reply)
Discussion started by: mvictorvijayan
1 Replies

6. 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

7. UNIX for Dummies Questions & Answers

shell program- how many times a function is called

We have a program source C and is required to indicate how many times each function is called from the C program. also print the line number where there is a call. I've tried something like this: #!/bin/sh for i in $*;do if ! then echo $i is not a C file. else echo $i... (0 Replies)
Discussion started by: oana06
0 Replies

8. Shell Programming and Scripting

Add string based on character length

Good day, I am a newbie here and thanks for accepting me I have a task to modify input data where my input data looks like 123|34567|CHINE 1|23|INDIA 34512|21|USA 104|901|INDIASee that my input has two columns with different character length but max length is 5 and minimum length is 0 which... (1 Reply)
Discussion started by: fastlearner
1 Replies

9. Shell Programming and Scripting

Function getting called recursively

I have the below script which creates a directory or simply terminates without throwing error (exit 1) incase the directory exists. bash-4.1$ vi mdir.sh #!/bin/bash -e shopt -s expand_aliases alias mkdir=mkdir_s mkdir_s(){ if ]; then echo " directory EXISTS " return else echo "... (3 Replies)
Discussion started by: mohtashims
3 Replies

10. Shell Programming and Scripting

awk call in bash function called with arugments not working, something lost in translation?

Hello, I have this awk code in a bash script to perform a find and replace task. This finds one unique line in a file and substitutes the found line with a replacement. #! /bin/bash # value determined elsewhere total_outputs_p1=100 # file being modified... (5 Replies)
Discussion started by: LMHmedchem
5 Replies
gtkdoc-mktmpl(1)					      General Commands Manual						  gtkdoc-mktmpl(1)

NAME
gtkdoc-mktmpl -- GTK DocBook documentation generator. SYNOPSIS
gtkdoc-mktmpl [ See below ] DESCRIPTION
gtkdoc-mktmpl This creates or updates the template files which contain the manually-edited documentation. (A template is a simple text form which is filled in with the description of a function, macro, enum, or struct. For functions and macros it also contains fields for describing the parameters.) This script reads in the existing templates, found in tmpl/*.sgml, moves these files to tmpl/*.sgml.bak, and then recreates the .sgml files according to the structure given in the file MODULE-sections.txt. Any new templates added, or new function parameters, are marked with FIXME so you can do a grep to see which parts need updating. Any templates which are no longer used (i.e. they are remove from MODULE-sections.txt) are placed in the file tmpl/MODULE-unused.txt. If they are included again later they are automatically copied back into position. If you are certain that these templates will never be used again you can delete them from MODULE-unused.txt. Any parameters to functions which are no longer used are separated from the rest of the parameters with the line <!-- # Unused Parameters # -->. It may be that the parameter name has just been changed, in which case you can copy the description to the parameter with the new name. You can delete the unused parameter descriptions when no longer needed. EXAMPLE
See /usr/share/doc/gtk-doc-tools/examples, for a makefile.am and a configure.in example file. AUTHOR
This manual page was written by Christian Marillat marillat@debian.org for the Debian GNU/Linux system (but may be used by others). gtkdoc-mktmpl(1)
All times are GMT -4. The time now is 01:09 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy