09-05-2010
Quote:
Originally Posted by
kristinu
How does the function know c and d are local? From what I understand now, all variables passed to the function are local, even 'a' and 'b'. Depends whether we use 'a' and 'b' for some calculation. Does one actually need to put a tab to recognize whether variables are local or not?
You are correct, all variables that appear in the function declaration are local. The tab, or extra white space, is only to help humans who come along and maintain your programme. It's an easy signal that everything to the right of the extra space is just a local variable and that the function is not expecting to have those values passed in.
I've been using awk for the last 15 years or so, and I still get tripped up now and again because I forget to put a local variable in the header. Not one of awk's easier concepts to explain or understand; you've done well with it.
10 More Discussions You Might Find Interesting
1. Programming
Hello,
How to execute a call back function after aio_write() or aio_read() in Sun Solaris 5.7?
I have filled the control block struct aiocb as follows:
aio_sigevent.sigev_signo = SIGEV
aio_sigevent.sigev_notify = SIGEV_THREAD
Then I have filled the call back function in ... (0 Replies)
Discussion started by: hmurali
0 Replies
2. Shell Programming and Scripting
awk -vwgt=$vWeight -vfac=$vFactor '
BEGIN {
printf("wgt:" wgt "\n");
printf("factor:" fac "\n");
total = sprintf("%.0f", wgt * fac);
total2 = sprintf("%.0f", int(wgt * fac));
printf("total:" total "\n");
printf("total2:" total2 "\n");
}
'
if
vWeight=326.4
vFactor=100
the result... (2 Replies)
Discussion started by: qa.bingo
2 Replies
3. Shell Programming and Scripting
#!/bin/bash
awk '
function ad(t,r){
return (t+r);
}
BEGIN{
print ad(5,3);
}
{
print ad(5,3);
}
'
Doesn't print anything for the last print ad(5,3); (6 Replies)
Discussion started by: cola
6 Replies
4. Shell Programming and Scripting
Actually I got a list of file end with *.txt
I want to use the same command apply to all the *.txt
Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics.
For example:
I got the file below:
file1.txt
file2.txt
file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies
5. Shell Programming and Scripting
Hi All,
I am using splice function in for loop to delete particular element from array with one condition.
my $cnt=0;
foreach my $elem (@result)
{
if (condition){
splice(@result, $cnt, 1);}
else{
$cnt++;}
}
Now when in array, two elements comes sequentially with the... (3 Replies)
Discussion started by: gentleDean
3 Replies
6. UNIX for Advanced & Expert Users
I need to detect the number of pages in a print job when it is available so I can warn users when they try to print a report much larger than they expected. Sometimes they are trying to print 1000 page reports when they thought they were getting a 10 page report.
Under linux I am scanning the... (5 Replies)
Discussion started by: Max Rebo
5 Replies
7. Shell Programming and Scripting
Hi, I have a file like this
SPF_HC00001|iCalcular_Monto_Minimo|--->|SPF_HC00028|pstcObtener_Monto_Minimo
SPF_HC00004|iCalcular_Incrementos|--->|SPF_HC00032|pstcObtener_Num_Incrementos
SPF_HC00005|iCalcular_Articulo_167_Reformado|--->|SPF_HC00031|pstcObtener_Por_CB_Inc... (2 Replies)
Discussion started by: kcoder24
2 Replies
8. UNIX for Dummies Questions & Answers
Hello Unix experts,
If I could get any explanations on why the code below doesn't work it would be great !
My input looks like that ("|" delimited):
Saaaaabbbbbccccc|ok
Sdddddfffffggggg|ok
The goal is, if $2 is "ok", to remove everything before the pattern given in the match function... (5 Replies)
Discussion started by: lucasvs
5 Replies
9. Shell Programming and Scripting
hey guys, im trying to learn bourne shell atm and I'm having some issues with functions.
so heres my code:
#!/bin/bash
##functions
memory () {
free -m
}
space () {
df -h
}
ip () { (5 Replies)
Discussion started by: hawkfro12
5 Replies
10. Shell Programming and Scripting
Hi,
I am having script which contains many functions. Need to print each function name at the starting of the function. Like below,
functionname()
{
echo "functionname"
commands....
}
I've tried like below,
func=`grep "()" scriptname | cut -d "(" -f1`
for i in $func
do
nawk -v... (4 Replies)
Discussion started by: Sumanthsv
4 Replies
LEARN ABOUT OPENSOLARIS
shell
shell(1F) FMLI Commands shell(1F)
NAME
shell - run a command using shell
SYNOPSIS
shell command [command] ...
DESCRIPTION
The shell function concatenate its arguments, separating each by a space, and passes this string to the shell ($SHELL if set, otherwise
/usr/bin/sh).
EXAMPLES
Example 1 A sample output of shell command.
Since the Form and Menu Language does not directly support background processing, the shell function can be used instead.
`shell "build prog > /dev/null &"`
If you want the user to continue to be able to interact with the application while the background job is running, the output of an exe-
cutable run by shell in the background must be redirected: to a file if you want to save the output, or to /dev/null if you don't want to
save it (or if there is no output), otherwise your application may appear to be hung until the background job finishes processing.
shell can also be used to execute a command that has the same name as an FMLI built-in function.
NOTES
The arguments to shell will be concatenate using spaces, which may or may not do what is expected. The variables set in local environments
will not be expanded by the shell because "local" means "local to the current process."
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
sh(1), attributes(5)
SunOS 5.11 5 Jul 1990 shell(1F)