que estaba usando afirmación "la salida 1" en mis funciones de bash de interrumpir todo el guión y funcionó bien:¿Hay alguna forma de escribir una función bash que anule toda la ejecución, sin importar cómo se llame?
function func()
{
echo "Goodbye"
exit 1
}
echo "Function call will abort"
func
echo "This will never be printed"
Pero entonces me di cuenta de que no se haga el trabajo cuando se le llama como:
res=$(func)
entiendo que he creado un subnivel y "la salida 1" aborta que subnivel y no el principal ....
Pero hay una manera de escribir una función que aborta toda la ejecución, no importa cómo es cal ¿LED? Solo necesito obtener el verdadero valor de retorno (repetido por la función).
Estaba pensando en la función C' setsid() ', pero no funciona del mismo modo. Se actualizó para no utilizar el comando 'setsid', ya que nos obligaría a iniciar un nuevo proceso. – FatalError
Trabajos.Cualquier nivel de anidación de funciones, cualquier flujo ... Simplemente funciona. – LiMar
¿Es posible hacer una función de abort() general de esto que sale usando el código del primer argumento, p. 'abort 2' haria la' trampa 'exit 2 "TERM' antes de' kill'? –