Thursday, January 10, 2019

How do I tell if a regular file does not exist in Bash?



I've used the following script to see if a file exists:



#!/bin/bash


FILE=$1
if [ -f $FILE ]; then
echo "File $FILE exists."
else
echo "File $FILE does not exist."
fi


What's the correct syntax to use if I only want to check if the file does not exist?




#!/bin/bash

FILE=$1
if [ $FILE does not exist ]; then
echo "File $FILE does not exist."
fi

Answer



The test command ([ here) has a "not" logical operator which is the exclamation point (similar to many other languages). Try this:




if [ ! -f /tmp/foo.txt ]; then
echo "File not found!"
fi

No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...