Articles of getopts

Cómo tener la funcionalidad getopts al llamar a otra function dentro del file

Me gustaría tener parameters nombrados para mis funciones. Parece que solo puedo usar GETOPTS para la function principal llamada desde la línea de command. Si tengo varias funciones dentro de un file, ¿hay alguna manera de get el mismo tipo de funcionalidad (parameters nombrados) cuando llamo a otras funciones? por ejemplo, lo siguiente no parece […]

Proporcione tres arguments para una opción usando getopts en bash

Estoy tratando de procesar una línea de command usando getopts en bash. Tengo que pasar tres arguments después de la opción -w. Por ejemplo, -w 1 do loop. Debería imprimir una línea antes y después de cada línea del ciclo que contiene el patrón do. Este es el código que tengo ahora: #!/bin/bash file=`ls | […]

Bash: ¿Por qué se usa eval y shift en una secuencia de commands que analiza arguments de command-line?

Mientras miraba esta respuesta https://stackoverflow.com/a/11065196/4706711 para averiguar cómo usar parameters como –something o–s, algunas preguntas surgen con respecto al guión de la respuesta: #!/bin/bash TEMP=`getopt -o ab:c:: –long a-long,b-long:,c-long:: \ -n 'example.bash' — "$@"` if [ $? != 0 ] ; then echo "Terminating…" >&2 ; exit 1 ; fi # Note the quotes around […]

Bash: ayuda a perfeccionar una function personalizada

Estoy aprendiendo Bash, y he escrito una function básica: wsgc () { # Wipe the global variable value for `getopts`. OPTIND=1; echo "git add -A"; while getopts m:p option; do case "${option}" in m) COMMIT_MESSAGE=$OPTARG if [ "$COMMIT_MESSAGE" ]; then echo "git commit -m \"$COMMIT_MESSAGE.\"" else echo "A commit message is requinetworking." exit fi ;; […]

Diferencia entre $ OPTIND y $ #

Oye, ¿hay alguna diferencia entre $OPTIND y $# ? ¿Hay alguna razón para que uses $OPTIND con getopts, no $# ?

¿Se puede usar un set de bash en lugar del set de evaluación – "$ params"?

Estoy echando un vistazo a la biblioteca optparse para el análisis de opciones de bash , específicamente este bit en el código generado: params="" while [ $# -ne 0 ]; do param="$1" shift case "$param" in –my-long-flag) params="$params -m";; –another-flag) params="$params -a";; "-?"|–help) usage exit 0;; *) if [[ "$param" == –* ]]; then echo […]

negar el uso de arguments de getopts múltiples

Estoy tratando de encontrar una forma de negar el uso de más de un getopts args en una determinada situación. Digamos que tenemos algo como esto: while getopts "a:b:c:def" variable; do case $variable in a)a=$OPTARG b)b=$OPTARG c)c=$OPTARG d)MODE=SMTH e)MODE=SMTH2 f)MODE=SMTH3 esac done Lo que bash hacer es negar el uso de más de un MODO […]

bash – indicadores de parse y un argumento esperado (no opcional)

$ bash file.sh expected_arg -f optional_arg He visto publicaciones con direcciones que usan $1 para captar el primer argumento y posts que se dirigen usando getopts para analizar los arguments del indicador. No he visto una publicación que se dirija a ambos. Actualmente estoy accediendo a expected_arg por $1 . No puedo procesar la bandera […]

Extraños espacios en blanco iniciales en OPTARG al usar getopts

Pasé bastante time investigando el problema que encontré, pero ninguno de los tutoriales de getopts dice nada sobre el espacio en blanco líder en OPTARG cuando se usa getopts. En bash (en Ubuntu y OSX), ejecute los siguientes commands: OPTIND=1 && getopts ":n:" opt "-n 1" && echo "OPTARG: '$OPTARG'" y echos: OPTARG: ' 1' […]

Llamar a bash getopts desde una function falla la segunda vez

Estoy tratando de analizar arguments pasados ​​a una function bash usando getopts dentro de esa function. Funciona cuando se llama a la function por primera vez pero falla en todas las llamadas posteriores. Aquí hay un caso de testing simple: #!/bin/bash function getopt_test { PARAMS="" while getopts "a:" opt; do case $opt in a) PARAMS="${PARAMS} […]