¿Cómo verifico el número correcto de argumentos (un argumento)? Si alguien intenta invocar el script sin pasar el número correcto de argumentos, y verificando que el argumento de la línea de comando realmente exista y sea un directorio.
148
shell
eso significa/bin/sh
Respuestas:
Traducción: si el número de argumentos no es (numéricamente) igual a 1 o el primer argumento no es un directorio, envíe el uso a stderr y salga con un código de estado de falla.
Informe de errores más amigable:
fuente
if [ "$#" -ne 1 ] ; then
o bienif ! [ -d "$1" ]; then
para ver qué cláusula está causando el problema.-d
respecta. Si desea agregar un cheque por separado, puede usarlo-e
para verificar la existencia.-e
devuelve verdadero si el archivo existe. Agregué un informe de error más amigable a la respuesta.gato script.sh
ejecutarlo como abajo -
La salida será como:
fuente
Puede verificar el número total de argumentos que se pasan en la línea de comando con "
$#
" Digamos, por ejemplo, que mi nombre de script de shell eshello.sh
La salida será
hello-world
fuente