Thursday 10 January 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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...