Типа.
Один простой способ реализации обратного вызова в bash — принять имя программы в качестве параметра, который действует как «функция обратного вызова».
# This is script worker.sh accepts a callback in $1
cb="$1"
....
# Execute the call back, passing 3 parameters
$cb foo bar baz
Это можно использовать так:
# Invokes mycb.sh as a callback
worker.sh mycb.sh
Конечно, в bash нет замыканий. Следовательно, функция обратного вызова не имеет доступа к переменным на стороне вызывающей стороны. Однако вы можете хранить данные, необходимые для обратного вызова, в переменных среды. Обратную передачу информации из обратного вызова сценарию вызывающего более сложно. Данные могут быть помещены в файл.
Если ваш дизайн позволяет обрабатывать все в одном процессе, вы можете использовать функцию оболочки для обратного вызова, и в этом случае функция обратного вызова, конечно, имеет доступ к переменным на стороне инициатора.
Вот я и понял. Я удалил вариант зависимостей POP OS вручную с помощью команды sudo apt remove, а затем вернулся к установке каждой из них. Приложение настроек вернулось (Центр управления gnome ). Многое еще не работает, например, шрифты. Я предполагаю, что я буду медленно исправлять те.