06-12-2009
Set vars (by reference) in function
Hello everyone,
I am curious to find a possible way of doing something like this in ksh:
call a function and have that function set the value of the variable that the function knows by the name of $1....
example:
#! /bin/ksh
set_var(){
case $1 in
var1) this is where I would like to set var1 to a particular value;;
var2) this is where I would like to set var2 to a particular value;;
var3) this is where I would like to set var3 to a particular value;;
esac
}
set_var "var1"
set_var "var2"
set_var "var3"
# Now I would like to see what these values where set
echo $var1
echo $var2
echo $var3
Is this possible?
Hope you can help give me ideas.
Thanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Under IRIX 6.5, the Bourne shell is named /bin/bsh. I need to redirect output into a file reading loop, and retain values set within the loop based on processing that goes on within the loop for later processing. This code
#!/bin/bsh
k=1
cat file | while read k ; do
echo "$k"
done... (2 Replies)
Discussion started by: criglerj
2 Replies
2. UNIX for Advanced & Expert Users
Can any one let me know like how cn i set an label or number for each function whihc are there in an shells script:
for example
cd /opt/qcom/test/
function1()
function2()
function3()
-------
i ahe a script like this .now i want to count each of this function like 1, 2, 3,............... (3 Replies)
Discussion started by: lalitka
3 Replies
3. Shell Programming and Scripting
In a bash script, I'm looking for a way to set each matching line of a file into its own variable, or variable array.
As an example, i have a crontab file with several entries:
00 23 * * * /usr/local/bin/msqlupdate -all
00 11 * * * /usr/local/bin/msqlupdate -inc
00 03 * * *... (2 Replies)
Discussion started by: lochraven
2 Replies
4. Programming
Hi, i want to compile a code where fortran calls c . First I compiled C module ,it has pass by gcc. However, after generating .o file. I compiled C and fortran files together by intel fortran and it failed " undefined reference to 'vicerror'". vicerror is a function. I do not know why. (1 Reply)
Discussion started by: austinhsu
1 Replies
5. UNIX for Dummies Questions & Answers
I am new to PHP and UNIX. I am using Apache to do my testing on a Windows Vista machine.
I am getting this error when I am trying to connect to a web service. I did a search and did not see any posts that pertain to this.
Here is my function:
<?php
function TRECSend($a, $b, $c, $d,... (0 Replies)
Discussion started by: EddiRae
0 Replies
6. Shell Programming and Scripting
I have a shell script I want to run that will set environment variables based on the value of an input variable submitted when the shell script is called. For example:
$ mgenv.sh prod
This would set environment variables for prod
$ mgenv.sh test
This would set environment variables... (1 Reply)
Discussion started by: brtaylor73
1 Replies
7. Shell Programming and Scripting
I don't understand noglob.
I have a function:
function no_globb ()
{
set -o noglob
echo "$1"
set +o noglob
echo "$@"
}
When I run the function like this noglobb *.txt
The ouput is:
file01.txt
file01.txt file02.txt file03.txt
Shouldn't it be
*.txt
file01.txt file02.txt file03.txt (1 Reply)
Discussion started by: AlphaLexman
1 Replies
8. Shell Programming and Scripting
Guys,
May i know how can we de reference the code reference variable.?
my $a = sub{$a=shift;$b=shift;print "SUM:",($a+$b),"\n";};
print $a->(4,5);
How can we print the whole function ?
Please suggest me regarding this.
Thanks for your time :)
Cheers,
Ranga :) (0 Replies)
Discussion started by: rangarasan
0 Replies
9. Shell Programming and Scripting
Hi,
I have a function that is suposed to generate a AWR report:
#-----------------------#
gen_awr()
#-----------------------#
{
sqlplus -s admin/admin@OCEAN11<<ENDOFSQL
define num_days = ''
define report_type = "html"
define begin_snap =$snap1
define end_snap =%snap2
define... (1 Reply)
Discussion started by: amitlib
1 Replies
10. Shell Programming and Scripting
How to pass the getopts processed variable "${@}" to a function? It contains a list of package names needed in various functions.
Seems the issue I have is due to the order of the script, with the processed "${@}" falling after the unprossed "${@}".
I've been manually parsing options in the... (3 Replies)
Discussion started by: Cody Learner
3 Replies
LEARN ABOUT DEBIAN
html::template::compiled::reference
HTML::Template::Compiled::Reference(3pm) User Contributed Perl Documentation HTML::Template::Compiled::Reference(3pm)
NAME
HTML::Template::Compiled::Reference - A quick reference for HTML::Template::Compiled syntax
TAGSTYLES
<TMPL_IF var><TMPL_VAR foo></tmpl_if var>
<!-- TMPL_IF var --><!-- TMPL_VAR foo --><!-- /tmpl_if var -->
<%if var %><%= foo %><%/if var %>
Optional tagstyle 'tt':
[%if var %][%= foo %][%/if var %]
ACCESSING VARIABLES
<%= _.foo %>
outputs foo in the cuurent position of the stash and is the same as
<%= foo %>
<%= .config.url %>
goes to root of parameter stash; like $params->{config}->{url}
<%= ..foo %>
goes one level up in stash
<%= list[3].keyname.method %>
acts like: $stash->[3]->{keyname}->method
TAGS
VAR
<%var foo%> or <%= foo%>
IF, IF_DEFINED, UNLESS, ELSIF, ELSE
conditions like in Perl
LOOP, WHILE, EACH
for-loop and while-loop like in Perl.
<%loop cds%><%= __counter__%>. Title: <%= _.title%><%/loop cds%>
<%loop cds join=", " %><%= _.title%><%/loop cds%>
<%while resultset.next%><%= __counter__%>. <%= _.foo %><%/while %>
<%each hashref%><%= __key__ %>=<%= __value__ %><%/each %> (sorted alphanumeric)
<%each hashref sort=alpha %><%= __key__ %>=<%= __value__ %><%/each %> (sorted alphanumeric)
<%each hashref sort=num %><%= __key__ %>=<%= __value__ %><%/each %> (sorted numeric)
<%each hashref sort=0 %><%= __key__ %>=<%= __value__ %><%/each %> (not sorted)
WITH
<%with cds[0].artist.fanclub%><%= _.address%><%= _.homepage%><%/with %>
INCLUDE, INCLUDE_VAR
<%include template.htc%>
<%include_var param_with_template_name%>
COMMENT, VERBATIM, NOPARSE
<%comment explanation %>
This will not appear in the rendered template.
blah blah...
<%/comment explanation %>
SWITCH, CASE
<%switch .config.language%>
<%case de%>Hallo
<%case es%>Hola
<%case en,default%>Hello
<%/switch .config.language%>
PERL
See section Perl in HTML::Template::Compiled
ATTRIBUTES
Each attribute can be written as
attribute=foo
attribute="some thing"
attribute='some "thing"'
NAME
You can omit the 'name=' here.
<%if var%>var<%elsif name=var2%>var4<%/if%>
Can be used in all tags.
ESCAPE
<%= message escape=html %>
<%= params escape=url %>
<%= params escape=js %>
<%= some_var escape=dump|html%>
Can be used in "VAR"-tags.
DEFAULT
<%= this.var.might_be_undef default="my fault" %>
Can be used in "VAR"-tags.
ALIAS
<%loop cds alias="cd" %><%= cd.title %><%/loop cds %>
Can be used in "LOOP" and "WHILE". Works like "SET_VAR" and is short for
<%loop cds %><%set_var cd value=_ %><%= cd.title %><%/loop cds %>
Useful for nested loops.
SET_VAR
<%set_var myvar value=.another.var %>
<%set_var myvar2 expr="60 * 60 * 24" %>
This creates a variable similar to local() in perl. To use such a var or an alias in includes, you must use "USE_VARS" in the include.
USE_VARS
<!-- recognize myvar and myvar2 as variables not parameter stash -->
<%use_vars myvar,myvar2 %>
myvar: <%= myvar %>
JOIN
<%loop cds join=", " %><%= _.title%><%/loop cds%>
can be used in "LOOP"
BREAK
<%loop cds break="3" %>
<%= _.title%><%if __break__ %>
</%if %>
<%/loop cds%>
Sets "__break__" to 1 every xth loop. Can be used in "LOOP", "WHILE" and "EACH"
OPTIONS
(loop)_context_vars
<%= __index__ %> the current loop index starting at 0
<%= __counter__ %> the current loop index starting at 1
<%= __first__ %> true if first iteration
<%= __last__ %> true if last iteration
<%= __odd__ %> true if __counter__ is odd
<%= __inner__ %> true if not last or first iteration
<%= __key__ %> the key of an EACH iteration
<%= __value__ %> the value of an EACH iteration
<%= __break__ %> see L<"BREAK"> above
<%= __filename__ %> filename of current template (since 0.91_001)
<%= __filenameshort__ %> short filename of current template (since 0.91_001)
perl v5.14.2 2012-05-26 HTML::Template::Compiled::Reference(3pm)