Comprobar la existencia de un argumento de entrada en un script de shell Bash




4 Answers

Es mejor demostrar de esta manera

if [[ $# -eq 0 ]] ; then
    echo 'some message'
    exit 1
fi

Normalmente necesitas salir si tienes muy pocos argumentos.

bash shell

Necesito verificar la existencia de un argumento de entrada. Tengo el siguiente guion

if [ "$1" -gt "-1" ]
  then echo hi
fi

yo obtengo

[: : integer expression expected

¿Cómo verifico primero el argumento de entrada1 para ver si existe?




Tratar:

 #!/bin/bash
 if [ "$#" -eq  "0" ]
   then
     echo "No arguments supplied"
 else
     echo "Hello world"
 fi



A menudo uso este fragmento de código para scripts simples:

#!/bin/bash

if [ -z "$1" ]; then
    echo -e "\nPlease call '$0 <argument>' to run this command!\n"
    exit 1
fi



Si desea verificar si el argumento existe, puede verificar si el número de argumentos es mayor o igual a su número de argumento objetivo.

La siguiente secuencia de comandos demuestra cómo funciona esto

test.sh

#!/usr/bin/env bash

if [ $# -ge 3 ]
then
  echo script has at least 3 arguments
fi

produce la siguiente salida

$ ./test.sh
~
$ ./test.sh 1
~
$ ./test.sh 1 2
~
$ ./test.sh 1 2 3
script has at least 3 arguments
$ ./test.sh 1 2 3 4
script has at least 3 arguments



Related


Tags

bash   shell