Какой самый лучший способ на 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 - это мощный инструмент, позволяющий читать, фильтровать и писать JSON в bash.
jq вообще очень крутая тулза, но увы в коробке ее нет, придется ставить через менеджер пакетов. Но это мелочи.