Je suis en train d'essayer d'écrire un programme (en utilisant un script shell ou un script bash) qui accepte des arguments de ligne de commande en utilisant getopt.
Cela fonctionne bien dans le terminal Linux mais lorsque je l'utilise dans le terminal OS X, il n'arrive pas à lire les arguments de ligne de commande fournis.
Un code d'exemple :
OPTS=`getopt -o f:l: --long FirstName:,LastName: -n 'parse-options' -- "$@"`
if [ $? != 0 ] ; then echo "Échec de l'analyse des 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
Entrée :
sh try.sh --FirstName foor --LastName bar
Sortie sur Linux (FC19):
--------------------------------------------
FirstName=foor
LastName=bar
Sortie sur Mac :
--------------------------------------------
FirstName=
LastName=