Sto provando a scrivere un programma (usando lo script di shell o lo script di bash) che accetta l'argomento della riga di comando usando getopt.
Funziona bene sul terminale Linux ma quando lo sto usando su OS X Terminal non è in grado di leggere l'argomento della riga di comando fornito.
un codice di esempio:
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
Input:
sh try.sh --FirstName foor --LastName bar
Output su Linux (FC19):
--------------------------------------------
FirstName=foor
LastName=bar
Output su Mac:
--------------------------------------------
FirstName=
LastName=