bash: check if file exists(without using if)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting bash: check if file exists(without using if)
# 1  
Old 10-06-2011
bash: check if file exists(without using if)

basically im trying to make this work in a bash shell script without using if statements

Code:
if [ -f testfile ]
 then
 echo testfile exists!
 fi

what it does is check if the file exists or not

i have this line but its not working, it checks if the testfile exists if it doesnt it 2> to the dev null pathname and i have an echo statement which says it doesnt exist


Moderator's Comments:
Mod Comment Video tutorial on how to use code tags in The UNIX and Linux Forums.
# 2  
Old 10-06-2011
Quote:
Originally Posted by gangsta
i have this line but its not working, it checks if the testfile exists if it doesnt it 2> to the dev null pathname and i have an echo statement which says it doesnt exist
Perhaps you could have posted the line that didn't work, then.

If you don't want to use 'if', your options are limited.

Code:
[ -f testfile ] || exit 1

# 3  
Old 10-07-2011
Quote:
Originally Posted by Corona688
Perhaps you could have posted the line that didn't work, then.

If you don't want to use 'if', your options are limited.

Code:
[ -f testfile ] || exit 1

im trying the
Code:
[ -f testfile ] || exit 1

with an echo statement "Exits since testfile doesnt exist"

i have another one
Code:
[ -f testfile2 ] || exit 1

with an echo statement "testfile 2" exist

can't figure out how to show testfile echo statement or the testfile2 echo statement
# 4  
Old 10-07-2011
Usually, you don't.

You could do something like [ -f file ] || echo "doesn't exist" && exit 1 but what if the echo fails for some reason? Then you won't exit.

You could combine statements like [ -f file ] || ( statement1 ; statement2 ) except that, because it's in a subshell, exit won't quit your main shell, just the part in brackets!

Since you're in BASH though, you can do this:

Code:
function die
{
        echo "$@" >&2
        exit 1
}

[ -f file ] || die "File does not exist"

---------- Post updated at 09:32 AM ---------- Previous update was at 09:29 AM ----------

If you have a bunch of them, you can do

Code:
function die
{
        echo "$@" >&2
        exit 1
}

for FILE in "file1" "file2" "file3" "file4" "file5" "file6"
do
        [ -f "$FILE" ] || die "$FILE does not exist"
done

This User Gave Thanks to Corona688 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Check if file exists

I need to check whether a file exists and has been changed. The file should contain a specific string. The file should also have been changed within the last ten seconds. How do I do that? (3 Replies)
Discussion started by: locoroco
3 Replies

2. Shell Programming and Scripting

To check if file exists

Hi, I have the below code written. However I am not getting the desired output I am checking if the particular path has file in it. #!/bin/bash ls -l /IRS2/IRS2_ODI/INFILE/*LS* 1>/dev/null 2>/dev/null if then echo $? echo "File Exists" fi ... (3 Replies)
Discussion started by: Shanmugapriya D
3 Replies

3. Shell Programming and Scripting

Check if a string exists in a file

bash in RHEL 6.3 I have these 2 files with strings. $ cat someStrings.txt LOGICAL1 HUNGARY2 PENGUIN2 MOBILE GUITAR1 MOUSE1 $$ cat checkIF.txt PENGUIN MOBILE $I need to search for strings in someStrings.txt file that matches the patterns in checkIF.txt file. The strings in... (7 Replies)
Discussion started by: kraljic
7 Replies

4. Shell Programming and Scripting

Check if file exists or not

Hi, I want to check if the file exists or not in the directory. i am trying below code but not working. File="/home/va59657/Account_20090213*.dat" echo "$File" if ]; then echo "file found" else echo "file not found" fi However i am getting file not found even if file exits as... (5 Replies)
Discussion started by: Vivekit82
5 Replies

5. Shell Programming and Scripting

Check whether file exists in directory

Hi guys, I am beginner trying to learn unix. So any help is welcomed. My requirement is to check whether is a file exists in a particular directory or not. The directory path and filename are taken dynamically with user interaction. So the program should continue only if the $filename... (1 Reply)
Discussion started by: maris_markur
1 Replies

6. Shell Programming and Scripting

File exists, but cannot be opened.How to check- whether it could be opened to read when it exists

Hi #Testing for file existence if ; then echo 'SCHOOL data is available for processing' else echo 'SCHOOL DATA IS NOT AVAILABLE FOR PROCESSING' : i wrote a script, where it begins by checking if file exists or not. If it exists, it truncates the database... (2 Replies)
Discussion started by: rxg
2 Replies

7. Shell Programming and Scripting

how to check to see if a file exists?

I want to write a script to see if various files exist. What I want to do is have the script search in various directories if a file exist, and if not, then output something like "/path/file does not exist". I don't actually know of how to check and see if a file exists or not. What I have in mind... (2 Replies)
Discussion started by: astropi
2 Replies

8. Shell Programming and Scripting

Check to see if a file exists?

Hi. I'd like to have an IF-Then-Else statement where I can check to see if a file exists? We have the Bourne Shell by default. I'm looking for the syntax to do something like this: if myfile.txt exists then ...my code else ...my code end if Any help would be greatly... (5 Replies)
Discussion started by: buechler66
5 Replies

9. Shell Programming and Scripting

How to check if a file exists using the if statement

Hi, I'm trying to write a bit of code that will check if a file exists and then archives the file Im trying to use the following if statement without success.. if then mv filename archive/filename else echo "no filename exists" fi Should the file name be... (3 Replies)
Discussion started by: Jazmania
3 Replies

10. Shell Programming and Scripting

check if remote file exists

Hi Does anybody know how I can check if a file exists on a remote machine i.e. see bellow, this doesn't work by the way and if tried countless variations on this #!/bin/sh hostname=server56 if ; then echo file exists else echo file doesn't exist fi Any help on this would... (2 Replies)
Discussion started by: hcclnoodles
2 Replies
Login or Register to Ask a Question