foamGet: check target directory exists and warn

only if controlDict does not exist.
This commit is contained in:
Chris Greenshields
2018-07-25 08:57:10 +01:00
parent 82b3c0c1d5
commit 50bf76a422

View File

@ -54,7 +54,7 @@ USAGE
error() { error() {
exec 1>&2 exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done while [ "$#" -ge 1 ]; do echo "Error: $1"; shift; done
usage usage
exit 1 exit 1
} }
@ -136,7 +136,7 @@ setFile () {
noFilesMessage () { noFilesMessage () {
_ext="$1" _ext="$1"
[ "$_ext" = "ANY" ] && echo "(with or without file extensions)" && return 1 [ "$_ext" = "ANY" ] && echo "(with or without file extensions)" && return 1
[ -n "$_ext" ] && echo "with file extension $_ext" && return 1 [ -n "$_ext" ] && echo "with file extension '$_ext'" && return 1
} }
searchDirs="\ searchDirs="\
@ -170,7 +170,6 @@ do
-t | -target) -t | -target)
[ "$#" -ge 2 ] || error "'$1' option requires an argument" [ "$#" -ge 2 ] || error "'$1' option requires an argument"
tgt="$2" tgt="$2"
[ -d "$tgt" ] || error "directory with -t option does not exist: '$tgt'"
shift 2 shift 2
;; ;;
-*) -*)
@ -183,15 +182,16 @@ do
done done
[ $# -gt 1 ] && error "$# arguments \"$*\" specified: only 1 permitted" [ $# -gt 1 ] && error "$# arguments \"$*\" specified: only 1 permitted"
[ $# -eq 1 ] || error "Missing argument: no file name/prefix <file> supplied" [ $# -eq 1 ] || error "missing argument: no file name/prefix <file> supplied"
prefix="$1" prefix="$1"
[ -s "system/controlDict" ] || \ [ -s "system/controlDict" ] || \
error "Cannot find OpenFOAM case directory (no system/controlDict file)" echo "Warning: cannot find OpenFOAM case directory (no system/controlDict file)"
[ -d "$tgt" ] || error "target directory does not exist: '$tgt'"
files="$(findFiles "$searchDirs" "$prefix" "$ext")" files="$(findFiles "$searchDirs" "$prefix" "$ext")"
[ -z "$files" ] && \ [ -z "$files" ] && \
error "No file $prefix found $(noFilesMessage "$ext")" error "no file $prefix found $(noFilesMessage "$ext")"
nFiles="$(nArgs "$files")" nFiles="$(nArgs "$files")"
[ "$nFiles" -eq 1 ] && cpFile "$files" "$tgt" && exit 0 [ "$nFiles" -eq 1 ] && cpFile "$files" "$tgt" && exit 0