Preguntas etiquetadas con subshell


3
¿Es $ () una subshell?
Entiendo que la sintaxis de subshell es (<commands...>), ¿es $()solo una subshell de la que puede recuperar valores variables? Nota: Esto se aplica a bash 4.4 basado en una redacción diferente en su documentación.
51 bash  subshell  syntax 

4
¿Por qué (salida 1) no sale del script?
Tengo un script que no sale cuando lo quiero. Un script de ejemplo con el mismo error es: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Supongo que vería la salida: :~$ ./test.sh 1 :~$ Pero en realidad veo: :~$ …

3
Creación de subshell Bash con llaves
De acuerdo con esto , colocar una lista de comandos entre llaves hace que la lista se ejecute en el contexto de shell actual. No se crea ninguna subshell . Usando pspara ver esto en acción Esta es la jerarquía de proceso para una tubería de proceso ejecutada directamente en …
31 bash  subshell 

6
salir del script de shell desde un subshell
Considere este fragmento: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Normalmente cuando funcse llama provocará que el script finalice, que es el comportamiento previsto. Sin embargo, si se ejecuta en un sub-shell, como …

3
¿Cómo puedo detectar si estoy en una subshell?
Estoy tratando de escribir una función para reemplazar la funcionalidad del exitincorporado para evitar que salga del terminal. Intenté usar la SHLVLvariable de entorno pero no parece cambiar dentro de las subcapas: $ echo $SHLVL 1 $ ( echo $SHLVL ) 1 $ bash -c 'echo $SHLVL' 2 Mi función …
24 bash  shell  exit  subshell 

3
¿Regla para invocar subshell en Bash?
Parece que no entiendo la regla de Bash para crear una subshell. Pensé que los paréntesis siempre crean una subshell, que se ejecuta como su propio proceso. Sin embargo, este no parece ser el caso. En el fragmento de código A (a continuación), el segundo sleepcomando no se ejecuta en …


2
¿Por qué es una variable visible en una subshell?
Learning Bash Book menciona que una subshell heredará solo variables de entorno y descriptores de archivos, etc., y que no heredará variables que no se exportan: $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ Como sé, el shell creará dos …
18 bash  shell  subshell 




5
Función bash con estado
Me gustaría implementar una función en Bash que aumente (y devuelva) un recuento con cada llamada. Desafortunadamente, esto no parece trivial ya que estoy invocando la función dentro de una subshell y, en consecuencia, no puede modificar las variables de su shell principal. Aquí está mi intento: PS_COUNT=0 ps_count_inc() { …


3
¿La trampa es heredada por una subshell?
Intenté un siguiente script: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo El resultado para el script anterior fue: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Sin embargo, esperaba que también se llamara a trap …
14 shell  trap  subshell 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.