Реализация утилиты 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