GNU/Linux >> Tutoriales Linux >  >> Linux

Shell Script Wrapper para evitar la ejecución de comandos sin argumentos?

Hay un programa que uso, digamos xyz , que tiene efectos no deseados si ejecuto el comando sin argumentos. Así que me gustaría evitar ejecutar accidentalmente xyz comando sin argumentos pero permita que se ejecute con argumentos.

¿Cómo puedo escribir un script de shell para que al llamar a xyz sin argumentos, imprimirá un mensaje de error y, de lo contrario, pasará todos los argumentos a xyz programa?

Respuesta aceptada:

Puede verificar la variable especial $#:

if [ $# -eq 0 ]; then
  echo "No arguments provided!"
  exit 1
fi
/usr/bin/xyz "[email protected]"

Luego, agregue un alias a su ~/.bashrc;

alias xyz="/path/to/script.sh"

Ahora, cada vez que ejecutes xyz , se lanzará el alias en su lugar. Esto llamará al script que verifica si tiene algún argumento y solo inicia el xyz real. manda si lo haces. Obviamente, cambia /usr/bin/xyz a cualquiera que sea la ruta completa del comando.


Linux
  1. Ejecutar secuencia de comandos con ". ¿Y con “fuente”?

  2. ¿Ejecutar script con argumentos como usuario?

  3. Cambie el directorio de trabajo en Shell con un script de python

  4. Ejecutar script de shell en paralelo

  5. ¿Cómo almacenar un comando en una variable en un script de shell?

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Cómo ejecutar un comando de Shell con Python

Cómo almacenar un comando de Linux como una variable en el script de Shell

¿Cómo ejecutar un comando en un script de Shell?

¿Cómo leer argumentos de línea de comando en scripts de Shell?

¿Plantillas con Linux en un script de Shell?