Soy un principiante de scripts bash, y tengo una "tarea" que hacer. Me di cuenta de la mayoría de las cosas, pero hay una parte que dice que tengo que repetir el pid del padre bash y el pid de las dos subshells que voy a ejecutar. Así que busqué en línea y encontré este (The Linux documentation project):
#!/bin/bash4
echo "\$\$ outside of subshell = $$" # 9602
echo "\$BASH_SUBSHELL outside of subshell = $BASH_SUBSHELL" # 0
echo "\$BASHPID outside of subshell = $BASHPID" # 9602
echo
(echo "\$\$ inside of subshell = $$" # 9602
echo "\$BASH_SUBSHELL inside of subshell = $BASH_SUBSHELL" # 1
echo "\$BASHPID inside of subshell = $BASHPID") # 9603
# Note that $$ returns PID of parent process.
Así que aquí están mis preguntas:
1) ¿Qué significa la primera impresión eco? ¿Es este el pid del bash padre?
2) ¿Por qué el segundo eco imprime 0?
3) ¿Es $ BASH_SUBSHELL un comando o una variable?
4) Estoy haciendo todo en un Mac, voy a intentar todo esto en una máquina Linux en algunos días, pero cada vez que ejecutar este script $BASHPID
no devuelve nada, acabo de recibir una nueva línea. ¿Esto es porque estoy ejecutando esto en un Mac y $BASHPID
no funciona en un Mac?
gracias por responder y despejar estas cosas por mí . Descubrí que tengo GNU bash, versión 3.2.48 (1). – captain