mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: add '-all' option to foamEtcFile for similar results as findEtcFiles
This commit is contained in:
@ -44,7 +44,7 @@
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
usage() {
|
usage() {
|
||||||
[ "${quietOpt:-$silentOpt}" = true ] && exit 1
|
[ "${optQuiet:-$optSilent}" = true ] && exit 1
|
||||||
|
|
||||||
exec 1>&2
|
exec 1>&2
|
||||||
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
|
||||||
@ -53,6 +53,7 @@ usage() {
|
|||||||
Usage: ${0##*/} [OPTION] fileName
|
Usage: ${0##*/} [OPTION] fileName
|
||||||
${0##*/} [OPTION] -list
|
${0##*/} [OPTION] -list
|
||||||
options:
|
options:
|
||||||
|
-all return all files (otherwise stop after the first match)
|
||||||
-list list the directories to be searched
|
-list list the directories to be searched
|
||||||
-mode <mode> any combination of u(user), g(group), o(other)
|
-mode <mode> any combination of u(user), g(group), o(other)
|
||||||
-prefix <dir> specify an alternative installation prefix
|
-prefix <dir> specify an alternative installation prefix
|
||||||
@ -129,7 +130,7 @@ esac
|
|||||||
|
|
||||||
# default mode is 'ugo'
|
# default mode is 'ugo'
|
||||||
mode=ugo
|
mode=ugo
|
||||||
unset listOpt quietOpt silentOpt
|
unset optAll optList optQuiet optSilent
|
||||||
|
|
||||||
# parse options
|
# parse options
|
||||||
while [ "$#" -gt 0 ]
|
while [ "$#" -gt 0 ]
|
||||||
@ -138,8 +139,11 @@ do
|
|||||||
-h | -help)
|
-h | -help)
|
||||||
usage
|
usage
|
||||||
;;
|
;;
|
||||||
|
-a | -all)
|
||||||
|
optAll=true
|
||||||
|
;;
|
||||||
-l | -list)
|
-l | -list)
|
||||||
listOpt=true
|
optList=true
|
||||||
;;
|
;;
|
||||||
-m | -mode)
|
-m | -mode)
|
||||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||||
@ -161,10 +165,10 @@ do
|
|||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-q | -quiet)
|
-q | -quiet)
|
||||||
quietOpt=true
|
optQuiet=true
|
||||||
;;
|
;;
|
||||||
-s | -silent)
|
-s | -silent)
|
||||||
silentOpt=true
|
optSilent=true
|
||||||
;;
|
;;
|
||||||
-v | -version)
|
-v | -version)
|
||||||
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
|
||||||
@ -239,14 +243,15 @@ set -- $dirList
|
|||||||
# The main routine
|
# The main routine
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ "$listOpt" = true ]
|
exitCode=0
|
||||||
|
if [ "$optList" = true ]
|
||||||
then
|
then
|
||||||
|
|
||||||
# list directories, or potential file locations
|
# list directories, or potential file locations
|
||||||
[ "$nArgs" -le 1 ] || usage
|
[ "$nArgs" -le 1 ] || usage
|
||||||
|
|
||||||
# a silly combination, but -quiet does have precedence
|
# a silly combination, but -quiet does have precedence
|
||||||
[ "$quietOpt" = true ] && exit 0
|
[ "$optQuiet" = true ] && exit 0
|
||||||
|
|
||||||
for dir
|
for dir
|
||||||
do
|
do
|
||||||
@ -257,25 +262,32 @@ then
|
|||||||
echo "$dir"
|
echo "$dir"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
exit 0
|
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
[ "$nArgs" -eq 1 ] || usage
|
[ "$nArgs" -eq 1 ] || usage
|
||||||
|
|
||||||
|
# general error, eg file not found
|
||||||
|
exitCode=2
|
||||||
|
|
||||||
for dir
|
for dir
|
||||||
do
|
do
|
||||||
if [ -f "$dir/$fileName" ]
|
if [ -f "$dir/$fileName" ]
|
||||||
then
|
then
|
||||||
[ "$quietOpt" = true ] || echo "$dir/$fileName"
|
exitCode=0
|
||||||
exit 0
|
if [ "$optQuiet" = true ]
|
||||||
|
then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "$dir/$fileName"
|
||||||
|
[ "$optAll" = true ] || break
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# general error, eg file not found
|
exit $exitCode
|
||||||
exit 2
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user