#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation # \\/ M anipulation | #------------------------------------------------------------------------------- # License # This file is part of OpenFOAM. # # OpenFOAM is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. # # Script # wmakeCheckPwd # # Usage # wmakeCheckPwd <dir> # # Description # Check that the current working directory is the directory <dir>. # Exit status 0 when the directories are identical # #------------------------------------------------------------------------------- Script=${0##*/} unset optQuiet exec 1>&2 # No stdout, stderr only usage() { [ "$optQuiet" = true ] && exit 1 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<<USAGE Usage: $Script [OPTION] dirName options: -q | -quiet suppress all normal output Check that the current working directory is the directory <dir> Exit status 0 when the directories are identical Exit status 1 on error USAGE exit 1 } error() { if [ "$optQuiet" != true ] then echo "$Script error: $1" shift while [ "$#" -ge 1 ]; do echo " $1"; shift; done fi exit 1 } #------------------------------------------------------------------------------ # Parse arguments and options #------------------------------------------------------------------------------ while [ "$#" -gt 0 ] do case "$1" in -h | -help*) usage ;; -q | -quiet) optQuiet=true shift ;; -*) usage "Unknown option: '$1'" ;; *) break ;; esac done [ "$#" -eq 1 ] || usage "Incorrect number of arguments" dirName="$1" # Simple lexical check against PWD [ "$PWD" = "$dirName" ] && exit 0 # Check existence of <dir> [ -d "$dirName" ] || error "Directory does not exist '$dirName'" # Compare absolute paths, without symlinks [ "$(cd $dirName 2>/dev/null && pwd -P)" = "$(pwd -P)" ] || \ error "Current directory is not '$dirName'" exit 0 # clean exit #------------------------------------------------------------------------------