Estoy tratando de escribir un programa (utilizando el shell script de bash script) que aceptan el argumento de línea de comandos utilizando getopt.
Se está trabajando bien en la terminal de Linux, pero cuando la estoy usando en OS X, el Terminal no es capaz de leer el argumento de línea de comandos.
un código de ejemplo :
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=