jaký je pro tohle use case? Krátkým pohledem vidím, že parsuješ textový výstup příkazů, což je někdy velice ošemetné, viz třeba tvůj hosts, kde jak vidím nepočítáš s mezerou jako oddělovačem. Krom toho nevidím, že bys nějak pracoval s locales, pro přenosný script se hodí, když si tohle pohlídá.
Na tyhle věci používáme osquery, výstup má daleko spolehlivější. Případně velice slušnou práci dělá ansible -m setup