Может ли функция отличить, выполняется ли она таким образом? «${@}»

Es posible que el hardware sea totalmente propietario o solo bloque.

lspci -k

-La opción k muestra el manejo del controlador del núcleo de cada dispositivo como se explica en el manual

luego

rfkill unblock all && rm -rf /dev/rfkill && reboot

Eso desbloqueará todas las cosas de rfkill que podrían bloquearse de forma predeterminada

1
14.06.2019, 02:56
1 ответ

procне является отдельным процессом в вашем примере. Это просто функция, работающая в том же процессе, что и основная оболочка.

Массив $FUNCNAMEдает ему доступ к его обратной трассировке:

foo(){ bar; }
bar(){ baz; }
baz(){ proc; }
proc(){ echo "${FUNCNAME[@]}"; }

$ foo
proc baz bar foo main

Так что да, можно:

case ${FUNCNAME[1]} in runner)...

Если вы поэкспериментируете с ним, вы увидите, что запуск его в подоболочке/подпроцессе не нарушает обратную трассировку и не влияет на нее каким-либо образом:

foo(){ (bar &) | cat; }
=> same output
3
27.01.2020, 23:22

Теги

Похожие вопросы