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



Есть и другие способы работать с конфигами в bash, но как я выше сказал, json наше всё и мастхев. Изучай.



tags: #linux #bash



💩 @bashdays