Я использую сторож Facebook на Linux под Bash для отслеживания файловой системы
изменения.
Я не совсем понимаю, как получить объект JSON для изменения. Все, что мне кажется
get это список измененных файлов. Я установил часы и триггер как
ниже:
watchman watch /Users/osx/Applications/docker/tests watchman --
trigger /Users/osx/Applications/docker/tests 'file-sync' \
-- /Users/osx/Applications/docker/filewatcher/file-sync.sh
Однако, когда я запрашиваю аргументы после скрипта file-sync.sh,
выглядит как текстовое поле, а не как объект JSON.
Нужно ли мне делать что-то еще, чтобы получить полную информацию обо всех
изменения, которые происходят на руте?
watchman trigger-list shows the following results: { "version":
"4.9.0", "triggers": [
{
"command": [
"/Users/osx/Applications/docker/filewatcher/file-sync.sh"
],
"stdin": [
"name",
"exists",
"new",
"size",
"mode"
],
"append_files": true,
"name": "file-sync",
"empty_on_fresh_instance": true
} ] }
Из того, что я понимаю, это должно дать мне объект JSON с
компоненты name, существующие, new, size и mode.
В системном журнале я вижу следующее:
2019-01-15T22:28:49,191: [trigger file-sync
/Volumes/UserData/osx/Applications/docker/tests] input_json: sending
json object to stm
Что такое STM?
В системном журнале я вижу следующее:
2019-01-15T22:28:49,191: [trigger file-sync
/Volumes/UserData/osx/Applications/docker/tests] input_json: sending
`enter code here`json object to stm
В моем скрипте bash я использую jq для вывода вывода JSON в стандартный вывод
$(echo jq '.' $1)