Какой самый лучший способ на Bash прочитать переменные из файла? Велосипедов я много повидал, но мастхев — это, конечно же, закинуть все переменные в JSON-файлик и без лишнего геморроя его использовать.
Создаём файл vars.json, закидываем в него переменные/константы или чо там у тебя в конфигах обычно содержится:
{
"login": "user",
"password": "12345678"
}
А в главном скрипте, который всё это будет читать, делаем так:
#!/bin/bash
config="vars.json"
login=$(jq -r '.login' < $config)
passwd=$(jq -r '.password' < $config)
echo $login
echo $passwd
Тут это — говорим в config, как называется файл с переменными, а далее с помощью офигительной утилиты jq парсим конфиг без кучи говнокода и слёз.
Ключик -r означает, что выведется сырой текст (без кавычек и прочей нечисти). Попробуй убрать его и увидишь, что появятся кавычки, которые нам не нужны.
jq вообще очень крутая тулза, но, увы, в коробке её нет, придётся ставить через менеджер пакетов. Но это мелочи.
Есть и другие способы работать с конфигами в Bash, но, как я выше сказал, JSON — наше всё и мастхев. Изучай.








Комментарии