The getopt() function parses the command-line arguments.
Its arguments argc and argv are the argument count and
array as passed to the main() function on program invocation.
This is a simple example to pass 4 arguments:
#!/bin/bash
# Reading the options
TEMP=`getopt -o u:p:h:g: --long user:,password:,home:,group: -- "$@"`
eval set -- "$TEMP"
# Extractiong options and their arguments into variables
while true ; do
case "$1" in
-u|--user)
USERNAME=$2 ; shift 2 ;;
-p|--password)
PASSWORD=$2 ; shift 2 ;;
-h|--home)
HOMEPATH=$2 ; shift 2 ;;
-g|--group)
GROUPNAMES=$2 ; shift 2 ;;
--) shift ; break ;;
*) echo "Internal error!" ; exit 1 ;;
esac
done
echo "USERNAME: $USERNAME"
echo "PASSWORD: $PASSWORD"
echo "HOME: $HOMEPATH"
echo "GROUPNAMES: $GROUPNAMES"
Save the example as example_args.sh and then you can test the script:
./example_args.sh --user cristian --password 123456 --home /home/cristian --group mygroups
code: https://github.com/crismunoz/LinuxExamples
code: https://github.com/crismunoz/LinuxExamples
No hay comentarios:
Publicar un comentario