Esta é uma consequência do uso de getopts
. Parâmetros e seus argumentos devem vir antes de qualquer outro texto.
Se você sabe que a primeira palavra é SOMETEXT
, pode retirá-la da lista de argumentos que getopts
processa:
if [[ 'SOMETEXT' == "$1" ]]
then
echo "Found SOMETEXT at the beginning of the line"
shift
fi
while getopts p: opt
do
case $opt in
p) result=$OPTARG;;
esac
done
echo "The result is $result "