Skip to content
Snippets Groups Projects
Commit d8a812ce authored by Mark Olesen's avatar Mark Olesen
Browse files

ENH: add '-all' option to foamEtcFile for similar results as findEtcFiles

parent 6c9dacd2
No related branches found
No related tags found
No related merge requests found
......@@ -44,7 +44,7 @@
#
#-------------------------------------------------------------------------------
usage() {
[ "${quietOpt:-$silentOpt}" = true ] && exit 1
[ "${optQuiet:-$optSilent}" = true ] && exit 1
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
......@@ -53,6 +53,7 @@ usage() {
Usage: ${0##*/} [OPTION] fileName
${0##*/} [OPTION] -list
options:
-all return all files (otherwise stop after the first match)
-list list the directories to be searched
-mode <mode> any combination of u(user), g(group), o(other)
-prefix <dir> specify an alternative installation prefix
......@@ -129,7 +130,7 @@ esac
# default mode is 'ugo'
mode=ugo
unset listOpt quietOpt silentOpt
unset optAll optList optQuiet optSilent
# parse options
while [ "$#" -gt 0 ]
......@@ -138,8 +139,11 @@ do
-h | -help)
usage
;;
-a | -all)
optAll=true
;;
-l | -list)
listOpt=true
optList=true
;;
-m | -mode)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
......@@ -161,10 +165,10 @@ do
shift
;;
-q | -quiet)
quietOpt=true
optQuiet=true
;;
-s | -silent)
silentOpt=true
optSilent=true
;;
-v | -version)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
......@@ -239,14 +243,15 @@ set -- $dirList
# The main routine
#
if [ "$listOpt" = true ]
exitCode=0
if [ "$optList" = true ]
then
# list directories, or potential file locations
[ "$nArgs" -le 1 ] || usage
# a silly combination, but -quiet does have precedence
[ "$quietOpt" = true ] && exit 0
[ "$optQuiet" = true ] && exit 0
for dir
do
......@@ -257,25 +262,32 @@ then
echo "$dir"
fi
done
exit 0
else
[ "$nArgs" -eq 1 ] || usage
# general error, eg file not found
exitCode=2
for dir
do
if [ -f "$dir/$fileName" ]
then
[ "$quietOpt" = true ] || echo "$dir/$fileName"
exit 0
exitCode=0
if [ "$optQuiet" = true ]
then
break
else
echo "$dir/$fileName"
[ "$optAll" = true ] || break
fi
fi
done
fi
# general error, eg file not found
exit 2
exit $exitCode
#------------------------------------------------------------------------------
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment