I need to verify if the args are valid file names, is this the right way to do it? It seems like I made some mistake inline 2, but I don't know where.
for i in ${@}; do
if [ -f ${i}]; then
echo ${i}
else continue
fi
done
First of all, you need a space before the closing square bracket. And you should quote your variables in case there's a space in a filename.
for i in "${@}"; do
if [ -f "${i}" ]; then
echo "${i}"
else continue
fi
done
The "else continue
" is unnecessary, unless that's a placeholder for something else you plan to put in place of "continue
".