Как RVM обнаруживает, когда вы меняли каталоги?

RVM может замечать, когда вы меняете каталоги, ищите . rvmrc , и измените текущую версию Ruby и гемсет в соответствии с содержимым этого файла. Он вносит это изменение, как только вы переходите в этот каталог, и выводит соответствующее сообщение.

Как он обнаруживает изменение в текущем рабочем каталоге? Я могу представить себе чрезвычайно грубый способ сделать это: запустить демон который запускается от имени текущего пользователя и продолжает проверять результаты pwd . Но я уверен, что это не то, что он делает.

Другой подход может заключаться в использовании псевдонима cd для изменения каталогов, а также проверки наличия .rvmrc и изменения гемсетов, если это указано.

Есть ли в системе Unix ловушка для изменения каталогов, или есть какой-то другой трюк, который использует RVM?

24
задан Nathan Long 23 March 2015 в 14:17
поделиться