03-04-2008
Doubt??? [scope of variables]
Heres an example.....
[qzv2jm] <~/abc>$ cat textfile
line 1
line 2
line 3
line 4
line 5
[qzv2jm] <~/abc>$ cat try.sh
#/bin/ksh
for runs in 1 2 3
do
A=$runs
echo "Inside A : $A"
done
echo "Outside A : $A" <- works fine
cat textfile | while read var
do
echo $var
x=$var+1
echo "inside x = $x"
done
echo "outside x = $x" <- Does not work
[qzv2jm] <~/abc>$ try.sh
Inside A : 1
Inside A : 2
Inside A : 3
Outside A : 3 <---worked
line 1
inside x = line 1+1
line 2
inside x = line 2+1
line 3
inside x = line 3+1
line 4
inside x = line 4+1
line 5
inside x = line 5+1
outside x = <----doubt??
[qzv2jm] <~/abc>$
Question: How can I make 'x' global so that I get the value outside the loop
.
10 More Discussions You Might Find Interesting
1. Programming
Each thread has a copy of auto variables within a function, but variables
declared as static within a function are common to all threads. To circumvent
this can static variables be placed outside the function. If so, will the
scope of the variable be file only or will it be extern, and will each... (7 Replies)
Discussion started by: sundaresh
7 Replies
2. UNIX for Advanced & Expert Users
Sorry in the wrong forum. Moving this to right forum. (2 Replies)
Discussion started by: Amruta Pitkar
2 Replies
3. Shell Programming and Scripting
My awk script searches for specified patterns in a text file and stores these values into mem variables.
Once this is done I want to Insert these values into a table.
How can I avail of the variable values outside the scope of awk script....
One method that I have tried is to write the... (7 Replies)
Discussion started by: Amruta Pitkar
7 Replies
4. Shell Programming and Scripting
hai franklin, i am rajitha. i have some doubt which am trying to solve from yesturday but am not getting the answer.can you help me out.
the question is as follows:
write a shell scriipt that accepts a string on the command line and greps the file "filename" for that string.
can you suggest me... (1 Reply)
Discussion started by: rajitha7
1 Replies
5. AIX
What is the scope of AIX as I am starting my career as a fresher in AIX administration?? (4 Replies)
Discussion started by: abhishek27
4 Replies
6. Shell Programming and Scripting
I call my script with two parameters
myscript.sh aaa bbb
What is the way to access $1 and $2 values inside a function? I call the function like this
myfuntion $1 $1
but inside of the function, $1 and $2 are empty. Any suggestions? thank you in advanced. (1 Reply)
Discussion started by: aristegui
1 Replies
7. Shell Programming and Scripting
Hi ,
I'm trying to change the variable value in a while loop , however its not working it seems that the problem with subshells while reading the file.
#!/bin/sh
FLAG=0;
cat filename | while read data
do
FLAG=1;
done
echo $FLAG
Should display 1 instead displays 0 (13 Replies)
Discussion started by: dinjo_jo
13 Replies
8. Shell Programming and Scripting
If I set a variable within a while-read loop, sometimes it's local to the loop, sometimes it's global, depending on how the loop is set up. I'm testing this on a Debian Lenny system using both bash and dash with the same results.
For example:
# Pipe command into while-read loop
count=
ls -1... (2 Replies)
Discussion started by: mjd_tech
2 Replies
9. Shell Programming and Scripting
Hi everyone, I am having some problems with my scripts so I hope you could help me.
I am trying to store the result of a division in a variable in tcshell but I have the problem that if:
For example, dividing 2/100 the result is 0.02 but if I store that I have "0".
How can I have 0.02... (8 Replies)
Discussion started by: Bloody
8 Replies
10. Shell Programming and Scripting
Friends,
I am using ksh under SunoS. This is what I have
In file1.sh
NOW=$(date +"%b-%d-%y")
LOGFILE="./log-$NOW.log"
I will be using this file through file1.sh as log file.
I have another script file2.sh which is being called inside my file1.sh. I would like to use the same log... (6 Replies)
Discussion started by: dahlia84
6 Replies
cat(1) General Commands Manual cat(1)
Name
cat - concatenate and print data
Syntax
cat [ -b ] [ -e ] [ -n ] [ -s ] [ -t ] [ -u ] [ -v ] file...
Description
The command reads each file in sequence and displays it on the standard output. Therefore, to display the file on the standard output you
type:
cat file
To concatenate two files and place the result on the third you type:
cat file1 file2 > file3
To concatenate two files and append them to a third you type:
cat file1 file2 >> file3
If no input file is given, or if a minus sign (-) is encountered as an argument, reads from the standard input file. Output is buffered in
1024-byte blocks unless the standard output is a terminal, in which case it is line buffered. The utility supports the processing of 8-bit
characters.
Options
-b Ignores blank lines and precedes each output line with its line number.
-e Displays a dollar sign ($) at the end of each output line.
-n Precedes all output lines (including blank lines) with line numbers.
-s Squeezes adjacent blank lines from output and single spaces output.
-t Displays non-printing characters (including tabs) in output. In addition to those representations used with the -v option, all tab
characters are displayed as ^I.
-u Unbuffers output.
-v Displays non-printing characters (excluding tabs and newline) as the ^x. If the character is in the range octal 0177 to octal 0241,
it is displayed as M-x. The delete character (octal 0177) displays as ^?. For example, is displayed as ^X.
See Also
cp(1), ex(1), more(1), pr(1), tail(1)
cat(1)