test -f
não funcionará para vários arquivos expandidos de curingas. Em vez disso, você pode usar uma função de shell com ls
redirecionada a zero.
present() {
ls "$@" >/dev/null 2>&1
}
if [ $# -lt 1 ]; then
echo "Please enter the path"
exit
fi
path=$1
if ! present $path/cc*.csv && ! present $path/cc*.rpt && ! present $path/*.xls; then
echo "All required files are not present\n"
fi
Por falar nisso, é bom usar &&
? Nesse caso, você recebe not present
apenas quando não houver arquivos com o nome cc*.csv
ou cc*.rpt
ou cc*.xls
in $path
.