Variable gets auto updated after function execution
Hi Team
In the below code, irrespective of the if statement that gets executed, retcd is being assigned a standard value(1) instead of changing as per code. Could you please help to see where is it going wrong.
Could you please help to see where is it going wrong.
Its my pleasure: let us first start with:
These lines (the same construct is used several times) do not make any sense: return leaves the subroutine and branches back into the calling routine. So, whatever is after return, it will not be executed because execution never gets there. In this case this is lucky, by the way, because exit would leve the script completely and i doubt this is what you want.
Second:
what happens in the second line is: the shell notices that there is a variable (retcd) to expand and replaces the variables name with its content:
Only then the line is executed. You do NOT pass back a variable you pass back a variables content. Because the variable itself is local to the subroutine the calling routine will not know about the variable, therefore:
won't work because in the main part the variable "retcd" doesn't exist.
I haven't bothered to look for further logical errors because your script is so poorly formatted that it is hard to find out where (and if) the ifs and elses and fis all match. I suggest you reformat your code in your own interest, because this is nearly unreadable.
One more thing:
You obviously try to find out if a certain string contains another string. You can do that by simply:
First, you do not need egrep to search for a fixed string, second, you can use the command itself (and its return code) for if to process and lastly you do not need to redirect output when you can switch it off ("-q") before it even is produced.
Does anyone know why the below script is not working? Why is not the variable tot_files updated?
location=$1
cd "$location"
tot_files=0
(
echo ""
# recursively gets the total number of files
tot_files=$(for t in files ; do echo `find . -type ${t:0:1} | wc -l` $t | cut -f1... (12 Replies)
updateEnvironmentField() {
linewithoutquotes=`echo $LINE | tr -d '"'`
b()
}
I want to pass variable named $linewithoutquotes to another method called b(), which is called from updateEnvironmentField() method. How to do the above requirement with shell script (1 Reply)
Hello All,
I would like to ask help from you on how to pass variable value from a function that has been called inside the function. I have created below and
put the variables in " ". Is there another way I can do this? Thank you in advance.
readtasklist() {
while read -r mod ver... (1 Reply)
I am having two different function in my script. When control is at first function I do not want to execute another function. How I can do that?
Help is highly appreiated as I am not sure How I can do it in Unix?
Thanks,
Vikram. (2 Replies)
I have a function hello, that is echoing i have put that function in .bash1 file then recalling the function with same user but with su command but it is not working.
username -> test
function -> below function save in .bash1
function hello() {
echo "Hello, $1!"
}
export -f hello
I... (2 Replies)
Hi,
I use KSH a lot.
I wanted to know if I can auto-complete a Variable name in the environment. I know this is possible in tcsh.
I use the vi mode to edit commands on command prompt.
Any help would be much appreciated.
Thanks..!! (4 Replies)
Hi,
I wrote the following program to understand mutexes. If I run the program , number of threads is shown as zero, even after creating one thread. When running with gdb, it works fine.
The function process is used to update global variable (used to keep track of threads). It looks like the... (2 Replies)
Hello again :)
Am currently trying to write a function which will delete a record from a file.
The code currently looks as such:
function deleteRecord() {
clear
read -p "Please enter the ID of the record you wish to remove: " strID
... (2 Replies)
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)
I would like to know how to pass a variable inside a variable to a function.
sample code below
--------------
for x in 1 9
do
check_null $C$x ##call function to check if the value is null
if
then
echo "line number:$var_cnt,... (2 Replies)