..ummm, may i ask the significance of having "" ..???
Always keep in mind that the shell "expands" variables before evaluating a line. That means that an expression like "$var" will be replaced by the contents of this variable. The default content of a variable is the null string, now. Consider the following code:
The shell will do the following: it will first replace "$x" with "foo" and only then evaluate the line:
Of course this evaluates to "TRUE" and the if-branch will be executed (the else-branch in case it evaluates to "FALSE"). Now suppose that "$x" is not given a value:
The shell would evaluate the line in question to:
and this is simply a syntactical error. The comparison lacks a part to which to compare to. Now consider the same with quotes:
gives:
and
gives
Which will now be "FALSE", but still be syntactically correct.
This is why it is good to ALWAYS quote your variables.
Hi,
In the process of modification of my script, the step next problem is following, I Would like to incorporate the following changes..but does not seem to work !
I am not sure where to define the PATHNAME variable..??? I tried several options, did not work.
Sorry for bothering so much, its kind of first script that I am writing..:P
thanks
---------- Post updated at 01:00 PM ---------- Previous update was at 12:54 PM ----------
Thanks for the detailed information..:-)
Quote:
Originally Posted by bakunin
Always keep in mind that the shell "expands" variables before evaluating a line. That means that an expression like "$var" will be replaced by the contents of this variable. The default content of a variable is the null string, now. Consider the following code:
The shell will do the following: it will first replace "$x" with "foo" and only then evaluate the line:
Of course this evaluates to "TRUE" and the if-branch will be executed (the else-branch in case it evaluates to "FALSE"). Now suppose that "$x" is not given a value:
The shell would evaluate the line in question to:
and this is simply a syntactical error. The comparison lacks a part to which to compare to. Now consider the same with quotes:
gives:
and
gives
Which will now be "FALSE", but still be syntactically correct.
This is why it is good to ALWAYS quote your variables.
---------- Post updated at 11:32 PM ---------- Previous update was at 11:31 PM ----------
Quote:
Originally Posted by nrjrasaxena
Hi,
In the process of modification of my script, the step next problem is following, I Would like to incorporate the following changes..but does not seem to work !
I am not sure where to define the PATHNAME variable..??? I tried several options, did not work.
Sorry for bothering so much, its kind of first script that I am writing..:P
thanks
---------- Post updated at 01:00 PM ---------- Previous update was at 12:54 PM ----------
I am trying to pass a second argument like so:
if ] then
export ARG2=$2
else
message "Second argument not specified: USAGE - $PROGRAM_NAME ARG1 ARG2"
checkerror -e 2 -m "Please specify if it is a history or weekly (H or W) extract in the 2nd argument"
fi
however, it always goes... (4 Replies)
Earlier I had one structure C
typedef struct c
{
int cc;
}CS;
I used to call a library function say int GetData(CS *x) which was returning me the above structure C with data.
GetData(CS *x)
Function call used to be like:
CS CSobj;
GetData(&CSObj);
Now there are two... (12 Replies)
How to pass the alphabet character as a argument in case and in if block?
ex:
c=$1
if a-z ]]
then
echo "alphabet"
case $1 in
a-z) echo "the value is a alphabet"
edit by bakunin: please use CODE-tags. We REALLY mean it. (9 Replies)
Hi,
I have a script that is scheduled with cron and runs every night. The cron part looks like this:
00 20 * * 0,1,2,3,4,5,6 /usr/local/bin/BACKUP TBTARM HOT DELETE
My issue is with the 3rd parameter. Somewhere in the script, i want to tell the script to delete some files if the 3rd... (7 Replies)
I have the following code :
function1 ()
{
print "January"
}
function2()
{
case $1 in
January)
print "Dzisiaj mamy styczen"
;;
*)
;;
}
main()
{ (1 Reply)
Hi,
I have 2 ksh scripts.
Script1.ksh contains function definition.
script1.ksh
function f1() {
while getopts a:c: args
do
case $args in
a) ARG1=$OPTARG ;;
c) ARG2=$OPTARG ;;
\?) echo "Error no valid Arguments passed"
esac
done
echo $ARG1
echo $ARG2
script2.sh (2 Replies)
Hi All,
i have script like below..
echo "1) first option"
echo ""
echo "2) second option"
echo ""
echo "*) please enter the correct option"
read select
case $select in
1) echo "first option selected"
;;
2) echo "second option selected"
;;
*) echo "please enter the correct... (4 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)
Hi All,
Calling a function with one argument and storing the return value in a shell script is as below:( so far I know)
value="`fun_1 "argument1"`"
Its working perfectly for me.
Can u help me with passing more than one argument and storing the return value
Thnaks in advance
JS (1 Reply)
May i know how to pass an argument to a function in a shell script?
Sorry, i din stated that it is in a shell script in my previous post.
Means: checkStatus() {
...........
}
read status;
I wanna use the status in the function checkstatus, how... (2 Replies)