If else condition


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers If else condition
# 1  
Old 08-17-2015
If else condition

Hi,

I am writing a script and using if condition as per below example.
Code:
echo $abspath
echo if [[ -f "$abspath" ]] 
then 
echo "file exist" 
fi

but this never satisfy the condition even if i am giving correct path to it. and this works on command prompt correctly.

Please help me out in finding the root cause of it.

Thanks,
Vipin Kumar Rai

---------- Post updated at 02:30 AM ---------- Previous update was at 02:28 AM ----------

pasting the my code:
Code:
echo $abspath
if [[ -f "$abspath" ]] 
then 
echo "file exist" 
fi

Moderator's Comments:
Mod Comment Next time, please use code tags for your data and code, thank you

Last edited by vbe; 08-17-2015 at 05:18 AM.. Reason: code tags please
# 2  
Old 08-17-2015
You seem to have found the error in your first script - does the problem persist or is it solved? Please provide an indication of the status of the thread.
# 3  
Old 08-17-2015
Hi,

It is not solved yet.

Thanks,
Vipin Kumar Rai
# 4  
Old 08-17-2015
Too bad! Please describe your problem in detail. On two installations (linux & FreeBSD) your script yields
Code:
abspath=/mnt/9/playground/leapfunction 
if [[ -f "$abspath" ]] 
then 
echo "file exist" 
fi
file exist

seems to work flawlessly.
# 5  
Old 08-17-2015
You could give us the error message you are getting...
I suspect you are using a true sh shell that doesnt recognise [[ syntax ...
Try
Code:
echo $abspath
if [ -f "$abspath" ] 
then 
   echo "file exist" 
fi

If this works, I hope you see why we insist on knowing the shell you are using and your OS...
# 6  
Old 08-17-2015
Demonstration:
Code:
onas:/home/vbe $ cat test002
abspath=./test003 
if [ -f "$abspath" ]
then 
   echo "$abspath file exist " 
fi
onas:/home/vbe $ sh test002
./test003 file exist 
onas:/home/vbe $ ksh test002
./test003 file exist 
onas:/home/vbe $ cat test003
abspath=./test003 
if [[ -f "$abspath" ]]
then 
   echo "$abspath file exist " 
fi
onas:/home/vbe $ ksh test003
./test003 file exist 
onas:/home/vbe $ sh test003
test003: 5: [[: not found
onas:/home/vbe $

# 7  
Old 08-19-2015
HI,

Thanks for you suggestion.
The problem was "^M" getting appended in the variable.
can you please let me know if i want to check the value if it has ^M, how to display then.

Thanks,
Vipin Kumar Rai

---------- Post updated at 08:30 AM ---------- Previous update was at 08:28 AM ----------

for eg.
Code:
abc="i am vipin^M"
cat $abc

it is not showing "^M" character but i want to show it.
what is the way?

Last edited by vbe; 08-19-2015 at 10:59 AM.. Reason: code tags
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with if condition

o/p of my command is given below My requirement is if Pnumber is 0 then stabilization.Build.2013 else stabilization.PBuild.2013.3 (11 Replies)
Discussion started by: nikhil jain
11 Replies

2. UNIX for Dummies Questions & Answers

IF [ condition ] help

Hi all Unix newbie - please be gentle Am modifying an existing script to error trap a variable with a length of 0 #!/bin/bash ipfile='/var/data/bin/ipaddress' ] && ipold="$(< "$ipfile" )" ipnew="$( wget -q -O - checkip.dyndns.org | sed -e 's/.*Current IP Address: //;s/<.*$//' )" #... (6 Replies)
Discussion started by: CRChamberlain
6 Replies

3. Shell Programming and Scripting

If condition return 0 even when it fails to satisfy te condition

HI My doubt may be basic one but I need to get it clarified.. When i use "if" condition that checks for many AND, OR logical conditions like if ]; then return 0 fi Even the if condition fails it returns as zero.. Any clue.. But if i add else condition like if ]; ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

4. Shell Programming and Scripting

if condition

if chr1:109457160 1 109457160 99.1735537190083 + chr1:109457233 1 109457233 99.1735537190083 - chr1:109457614 1 109457614 99.1735537190083 + chr1:109457618 1 109457618 100 + chr1:109457943 1 109457943 100 - chr1:109458224 1 109458224 99.1735537190083 - file1.txt If 6th column in... (3 Replies)
Discussion started by: johnkim0806
3 Replies

5. Shell Programming and Scripting

redirect stdout echo command in condition A run in condition B

hi, I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command Here are my simple script After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies

6. HP-UX

Difference between [condition] and [[condition]] and ((condition)) when used with if condition

Executed the following if conditions .. and got different results . only (( )) gave correct o/p with all scenarios . Can anybody please let me know what is the difference between and ] and ((condition)) when used with if condition. And why each condition gave different result. 1.... (2 Replies)
Discussion started by: soumyabubun
2 Replies

7. Shell Programming and Scripting

If Condition

Hi, I am trying to execute this command, but is it not working, says "`;' unexpected" eval $lgrep $SAM_CMD ; if ; then ; echo "No Error" ; fi What i want is, return the command output, if it is non zero, say "No Error". Thanks, John. (21 Replies)
Discussion started by: john_prince
21 Replies

8. Shell Programming and Scripting

if..else condition

i have a paramter data_date in which i am passing a string value.i want to find out another paramter file_date from this.the logic is given below if day of data_date = sunday or monday then file_date=data_date-1 else file_date=data_date-2 i am passing data_date as 20061027. how can i... (3 Replies)
Discussion started by: dr46014
3 Replies

9. Shell Programming and Scripting

if condition

Hi friends, :) In a shell script i found the following if condition. echo -n "Which version of $1 do you want to restore ('0' to quit)? : " read desired if ${desired:=1} -ge $index ] ; then echo "$0: Restore canceled by user: index value too big." >&2 exit 1 fi Can... (1 Reply)
Discussion started by: ravi raj kumar
1 Replies

10. Shell Programming and Scripting

if condition ...

i have following if condition if above statement is case sensitive.....what is syntax if i have to make above comparision case insensetive (4 Replies)
Discussion started by: mahabunta
4 Replies
Login or Register to Ask a Question