Dentro de mi script bash, me gustaría analizar cero, uno o dos parámetros (el script puede reconocerlos), luego reenviar los parámetros restantes a un comando invocado en el script. ¿Cómo puedo hacer eso?¿Cómo reenvio los parámetros a otro comando en el script bash?
92
A
Respuesta
153
Utilice la shift
comando integrado a "comer" los argumentos. A continuación, llame al proceso secundario y páselo por "[email protected]"
para incluir todos los argumentos restantes. Observe las comillas, se deben mantener, ya que hacen que la expansión de la lista de argumentos se cite correctamente.
18
bash usa la cambio comando:
por ejemplo shifttest.sh:
#!/bin/bash
echo $1
shift
echo $1 $2
shifttest.sh 1 2 3 produce
1
2 3
7
fiesta admite parámetros de subdivisión (ver Subsets and substrings), para que pueda elegir qué parámetros de proceso/pasar de esta manera:
nuevo archivo abierto y editarlo: r.sh vim
echo "params only 2 : ${@:2:1}"
echo "params 2 and 3 : ${@:2:2}"
echo "params all from 2: ${@:2:99}"
ejecutarlo :
chmod u+x r.sh
./r.sh 1 2 3 4 5 6 7 8 9 10
el resultado es:
params only 2 : 2
params 2 and 3 : 2 3
params all from 2: 2 3 4 5 6 7 8 9 10
Cuestiones relacionadas
- 1. ¿Cómo iterar sobre los parámetros posicionales en un script Bash?
- 2. Pase los parámetros del script bash a subprocesar sin cambios
- 3. Validación de parámetros en un script Bash
- 4. Bash Script Llama a otro script bash y espera a que se complete antes de continuar
- 5. ¿Ejecuta el script bash desde otro script sin esperar a que el script termine de ejecutarse?
- 6. ¿Cómo pasar parámetros a un script Linux Bash?
- 7. ¿Cómo pasar parámetros de bash a php script?
- 8. Usando el comando find en el script bash
- 9. Ejecutar el comando cuando se detiene el script bash
- 10. Script Bash: uso del comando "script" de un script bash para iniciar sesión
- 11. BASH cómo ejecutar un comando en la terminación del script?
- 12. comentarios entre los parámetros en BASH
- 13. ¿Es posible hacer que un script bash shell interactúe con otro programa de línea de comando?
- 14. Script Bash para ejecutar el comando en todos los archivos en un directorio
- 15. sudo para un solo comando en script bash
- 16. bash para el comando en línea
- 17. Cómo forzar bash/zsh para evaluar parámetros como múltiples argumentos cuando se aplica a un comando
- 18. Redirigir la salida a un argumento de línea de comando de otro comando en Windows
- 19. ¿Cómo puedo hacer frente a bash con param largo usando el comando "getopt" en mac?
- 20. Convierte el comando xargs Bash a PowerShell?
- 21. tubo en otro script
- 22. ejecutando el comando de shell en el fondo del script
- 23. script bash: cómo guardar el valor de retorno del primer comando en una canalización?
- 24. ¿Cómo ejecutar el script tcl en otro script tcl?
- 25. ¿Cómo asocio los parámetros a los objetos de comando en ADO con VBScript?
- 26. Patrón de comando: cómo pasar parámetros a un comando?
- 27. Bash Script Loop a través de MySQL
- 28. variables de parámetro bash en el problema de script
- 29. cómo escribir un script bash como los utilizados en init.d?
- 30. Script Bash para ejecutar el script php
en realidad "$ @" es más seguro que $ * – pixelbeat
¿Cuál es la diferencia? –
@pixelbeat: Gracias, buena captura. Yo edité @ Łukasz Lew: vea la página vinculada en el manual. :) Básicamente, se encarga de citar mejor. – unwind