Реализация утилиты envdir
на Go.
Эта утилита позволяет запускать программы, получая переменные окружения из определенной директории:
- если директория содержит файл с именем
S
, первой строкой которого являетсяT
, тоenvdir
удаляет переменную среды с именемS
, если таковая существует, а затем добавляет переменную среды с именемS
и значениемT
; - имя
S
не должно содержать=
; пробелы и табуляция в концеT
удаляются; терминальные нули (0x00
) заменяются на перевод строки (\n
); - если файл полностью пустой (длина - 0 байт), то
envdir
удаляет переменную окружения с именемS
.
Пример использования:
$ go-envdir /path/to/env/dir command arg1 arg2
Если в директории /path/to/env/dir
содержатся файлы:
FOO
с содержимым123
;BAR
с содержимымvalue
,
то вызов выше эквивалентен вызову
$ FOO=123 BAR=value command arg1 arg2