Кроме того, вы должны быть конкретными в вопросе о том, что переменные окружения, которые вы установили. Это, к сожалению, не так известны, как следует, что есть как минимум два переменных окружения интерес. @javadba это потому, что первый цвет из палитры слева от него тоже белый с красной линией через него. Изменить цветовую палитру на другой цвет и она должна быть снова видна. *"Спрашивал, нашел ли я что-нибудь из материалов для чтения, которые он дал нам интересно"*... пытаясь угадать, что происходит в твоей профессорской головой, похоже, он спрашивает, Если вы даже *читать* показания он дал тебе, и его впечатления могли теперь быть, что вы не. Я полагаю, представлял подразумевается, что если он дал тебе указания во время вашего тезиса, то вы бы его игнорировать, то тоже, так какой смысл ему быть твоим советником. (ИМХО это немного недостаток социальных навыков со своей стороны, чтобы определить такие вещи, но он вполне мог бы думал в эту сторону.)

Один из самых простых примеров обратного вызова в bash является одним многие люди знакомы с, но не понимаете, что шаблон на самом деле они используют:

хрон

Хрон позволяет указать исполняемый файл (двоичный или скрипт), хрон программа перезвонить, когда некоторые условия (время спецификация)

Скажем, у вас есть сценарий под названием doEveryDay.sh. Не отзвонились способ, чтобы написать скрипт:

#! /бин/Баш
пока правда; сделать
сделать
 спи $TWENTY_FOUR_HOURS
сделано

На обратный путь писать просто:

#! /бин/Баш
сделать

Затем в crontab бы вы установили что-то вроде

0 0 * * * doEveryDay.sh

Вы бы тогда не нужно писать код, чтобы ждать событий для запуска, но вместо того, чтобы полагаться на хрон назвать свой код обратно.


Теперь рассмотрим, как написать этот код в bash.

Как бы вы выполнить другой скрипт/функцию в bash?

Давайте напишем функцию:

every24hours функция () {
 Обратного вызова=1$; # предполагаем, переданного единственным аргументом
 # то, что мы можем "назвать"/выполнение
 пока правда; сделать
 $Обратного вызова ;# просто вызвать обратный вызов
 спи $TWENTY_FOUR_HOURS
сделано
}

Теперь вы создали функцию, которая принимает функцию обратного вызова. Вы можете просто вызвать его, как это:

# "пинг" сайте Google каждый день
every24hours 'google.com завиток'

Конечно, функция every24hours никогда не возвращается. Баш немного уникален тем, что мы можем очень легко сделать его асинхронным и породит процесс путем добавления &:

every24hours 'google.com завиток' &

Если вы не хотите, что это функция вы можете сделать это в качестве сценария, а не:

#every24hours.sh
Обратного вызова=1$; # предполагаем, переданного единственным аргументом
 # то, что мы можем "назвать"/выполнение
пока правда; сделать
 $Обратного вызова ;# просто вызвать обратный вызов
 спи $TWENTY_FOUR_HOURS
сделано

Как вы можете видеть, вызовы в bash является тривиальным. Это просто:

CALLBACK_SCRIPT=3$; # или некоторые другие 
 аргумент # к 
 # функция/скрипт

И вызов callback-это просто:

$SOME_CALLBACK_FUNCTION_OR_SCRIPT

Как вы можете видеть форму выше, обратные вызовы редко непосредственно особенности языков. Они, как правило, программирование в творческой манере, используя существующие языковые особенности. Любой язык, который может хранить указатель/ссылку/копию какого-то блока кода/функции/скрипта можете реализовать обратные вызовы.