Bash File Testing

Parameters

  
  -b filename - Block special file
  -c filename - Special character file
  -d directoryname - Check for directory Existence
  -e filename - Check for file existence, regardless of type (node, directory, socket, etc.)
  -f filename - Check for regular file existence not a directory
  -G filename - Check if file exists and is owned by effective group ID
  -G filename set-group-id - True if file exists and is set-group-id
  -k filename - Sticky bit
  -L filename - Symbolic link
  -O filename - True if file exists and is owned by the effective user id
  -r filename - Check if file is a readable
  -S filename - Check if file is socket
  -s filename - Check if file is nonzero size
  -u filename - Check if file set-user-id bit is set
  -w filename - Check if file is writable
  -x filename - Check if file is executable
  

How to use

  #!/bin/bash
  file=./file
  if [ -e "$file" ]; then
      echo "File exists"
  else 
      echo "File does not exist"
  fi 

A test expression can be negated by using the ! operator

  #!/bin/bash
  file=./file
  if [ ! -e "$file" ]; then
      echo "File does not exist"
  else 
      echo "File exists"
  fi 
 
 bashfiletest.txt · Last modified: 2017/01/11 11:41 by bpienig
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
Recent changes RSS feed Driven by DokuWiki