Ejemplo:Bash: Tome el primer argumento de la línea de comandos y pasar el resto
check_prog hostname.com /bin/check_awesome -c 10 -w 13
check_remote -H $HOSTNAME -C "$ARGS"
#To be expanded as
check_remote -H hostname.com -C "/bin/check_awesome -c 10 -w 13"
espero que lo anterior tiene sentido, los argumentos cambiarán a medida que va a utilizar esto por alrededor de 20 + comandos. Es un método extraño para envolver un programa, pero es para solucionarlo. Algunos problemas con algunos sistemas que estamos usando aquí (código de amor Gotta de los años 70)
Lo anterior podría escribirse en perl o python, pero bash ser el método preferido
¡Impresionante! Funciona como un encanto 'echo $ 1 shift echo $ * ' es un ejemplo de cómo usar shift para futuras personas que lo busquen, ejecútelo como './script.sh cmd1 cmd2 cmd3 cmd4' y establecerá $ 1 para cmd1 y el resto será cmd2 cmd3 cmd4 como yo quería – user554005
Y '$ #' se reduce en 1 a menos que ya sea 0. También puede dar 'shift' a un argumento numérico para desplazarse por más de un lugar. –
@ user554005: Casi siempre debería usar 'echo" $ @ "' en lugar de 'echo $ *' o 'echo" $ * "' ya que la forma no citada y la forma '$ *' citada "aplanan" los argumentos que son por lo general no deseado. –