Estoy tratando de escribir un programa (usando shell script o bash script) que acepte el argumento de la línea de comandos usando getopt.
Funciona bien en el terminal de Linux, pero cuando lo estoy usando en el terminal OS X no puedo leer el argumento de la línea de comandos provisto.
un código de muestra:
OPTS='getopt -o f:l: --long FirstName:,LastName: -n 'parse-options' -- "$@"'
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
echo "$OPTS"
eval set -- "$OPTS"
NEWLINE=$'\n'
while true; do
case "$1" in
-f | --FirstName ) FirstName="$2" ; shift 2 ;;
-l | --LastName ) LastName="$2" ; shift 2 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
echo "${NEWLINE}"
echo "--------------------------------------------"
echo "FirstName=$FirstName"
echo "LastName=$LastName"
echo "${NEWLINE}"
sleep 1
Entrada:
sh try.sh --FirstName foor --LastName bar
Salida en Linux (FC19):
--------------------------------------------
FirstName=foor
LastName=bar
Salida en Mac:
--------------------------------------------
FirstName=
LastName=