04-08-2018
That obviously is a (bourne) shell function. As you don't mention your shell's version,
bash assumed.
man bash:
Quote:
for name [ [ in [ word ... ] ] ; ] do list ; done
The list of words following in is expanded, generating a list of items.
During expansion, the "multiword character" of $1 is lost, and the shell makes up this five item list:
8 8 8 9 9 across which the for loop iterates, resulting in 42 plus
x's initial value. Be aware that the
x=$1 assignment has nothing to do with the $1 that
func() is called with; function get their own set of parameters when called.
And, remove the space in the
let assignment.
This User Gave Thanks to RudiC For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
We use a UNIX-based system (Lawson) at work and I was given this command to request a data extract from the db admin. The only thing I really understand is the last line as it appears to be joining the files created from the first three lines into one. Is there anyone who can help me breakdown the... (4 Replies)
Discussion started by: KGee
4 Replies
2. Shell Programming and Scripting
Hello everybody,
Can anybody tell me of what "~" refers to in the below code snippet.
lsvg $vgNAME | awk 'BEGIN {freeDISK=1} {if (($4 ~ /PP/ && $5 ~ /SIZE/) || ($4 ~ /FREE/ && $5 ~ /PPs/)) {freeDISK *= $6 }} END {print freeDISK*1024 }'
Thanks in advance, (6 Replies)
Discussion started by: tenderfoot
6 Replies
3. Shell Programming and Scripting
# sub: find block (in cols), return line-numbers (begin-end) or 0 if notfound
sub findb{
my ($exp1,$col1,$exp2,$col2)= @_; # $exp = expression to find, $col - column to search in
my $cnt=0;
my ($val1,$val2);
my ($beg,$end);
for($cnt=1;$cnt<=65536;$cnt++){
$val1 =... (3 Replies)
Discussion started by: suvenduperl
3 Replies
4. Shell Programming and Scripting
Can someone explain what is happening line by line in this script, particularly after the do statement. The script works, it renames all the files in my directory that has a date in the file name. But I would like to know more about it.
#!/bin/bash
newdate=12-10-1995
for file in *--*
do
... (6 Replies)
Discussion started by: Harleyrci
6 Replies
5. UNIX for Dummies Questions & Answers
i am trying to understand this script example. the text does not explain it. can someone tell me briefly what each of the functions do. any help will be appreciated.
#!/bin/bash
killtree() {
local _pid=$1
local _sig=${2-TERM}
for _child in $(ps -o pid --no-headers --ppid... (1 Reply)
Discussion started by: iluvsushi
1 Replies
6. Shell Programming and Scripting
Hi Guys,
I am new to scripting , I am trying to rebuild a script based on an old script. Can someone help me figure out what the script is doing? This is only a part of the script.
I am looking to interpret these two points in the scripts:-
1)
test=`echo $?`
while
I do not... (3 Replies)
Discussion started by: rajsan
3 Replies
7. Shell Programming and Scripting
I want to make a script which takes the number of argument, add those argument and gives output to the user, but I am not getting through...
Script that i am using is below :
#!/bin/bash
sum=0
for i in $@
do
sum=$sum+$1
echo $sum
shift
done
I am executing the script as... (3 Replies)
Discussion started by: mukulverma2408
3 Replies
8. Shell Programming and Scripting
Hi,
New to this forum, as well as to unix scripting..need help to understand below script ...
sendNotice_sp()
{
ATTACH=${LNXLOG:-}
if ; then
if ; then
mail -s "$ERR_MSG" $ERR_EMAIL_TO < $ATTACH
fi
else
mail -s "$ERR_MSG" $ERR_EMAIL_TO < /dev/null
fi
}
afaik this is sm kind of... (6 Replies)
Discussion started by: gnnsprapa
6 Replies
9. Shell Programming and Scripting
Could someone please help me in understanding the code below:
#!/usr/bin/ksh
Month=`date|cut -c5-7`
Day=`date|cut -c9-10`
Year=`date|cut -c27-28`
Rom2Jul() { case $Month in Feb) Day=$(( $Day+31 ));;
Mar) Day=$((... (27 Replies)
Discussion started by: hasn318
27 Replies
10. UNIX for Beginners Questions & Answers
Below script is called as Reducer, I am not sure how it work, can some expert explain me what this script does as i am a beginner.
inputfile:
hi hi how are are you
code:
#!/bin/bash
lastkey=""; -- what does this mean, because i saw in debug mode it is taking value as hi
count=0;... (13 Replies)
Discussion started by: mirwasim
13 Replies
shift(1) User Commands shift(1)
NAME
shift - shell built-in function to traverse either a shell's argument list or a list of field-separated words
SYNOPSIS
sh
shift [n]
csh
shift [variable]
ksh
* shift [n]
DESCRIPTION
sh
The positional parameters from $n+1 ... are renamed $1 ... . If n is not given, it is assumed to be 1.
csh
The components of argv, or variable, if supplied, are shifted to the left, discarding the first component. It is an error for the variable
not to be set or to have a null value.
ksh
The positional parameters from $n+1 $n+1 ... are renamed $1 ..., default n is 1. The parameter n can be any arithmetic expression that
evaluates to a non-negative number less than or equal to $#.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 shift(1)