Rodil se je v Velenju, graščinskemu oskrbniku Lovru in Poloni (rojeni Silovšek) iz Velenja, kjer je tudi končal pet razredov osnovne šole, nato je obiskoval privatno nižjo gimnazijo in leta 1912 maturiral na ljubljanskem učiteljišču. Strokovno se je izpolnjeval v tujini, leta 1928 pa je v Zagrebu diplomiral na Višji pedagoški šoli iz pedagogike, psihologije in nemškega jezika s književnostjo.
Kot učitelj se je najprej zaposlil v Preboldu, med 1. svetovno vojno je bil ranjen na Soški fronti, leta 1918 je bil Maistrov borec, nato je krajši čas poučeval na mariborski realki. Od leta 1919 do 1927 je bil profesor na trgovski srednji šoli v Mariboru, leta 1928 v Celju, nato je do leta 1950 poučeval na mariborskem učiteljišču, vmes pa je medvojni čas preživel v Grazu. Leta 1952 je ustanovil Vzgojno posvetovalnico, ki jo je vodil do leta 1961.
Šilih se je ukvarjal z didaktiko, mladinsko psihologijo, izobraževanjem učiteljev in družinsko vzgojo. Je avtor številnih knjig, ki sodijo v vrh slovenske pedagogike in didaktike in ju je dvignil na evropsko raven. Napisal je deset knjig in nad 60 obsežnejših ter okoli 300 krajših razprav in člankov. Njegovo temeljno, delo Očrt splošne didaktike, je izšlo neposredno po smrti leta 1961, od preostalih del pa naj omenimo Metodiko slovenskega jezikovnega pouka (1951), Vzgojna sredstva naše družine (1955), Vzgoja naših otrok (1955) in Učna načela naše šole (1961). Bil je tudi urednik Roditeljskega lista in Pedagoškega zbornika.
Šilihovo literarno ustvarjanje je bilo v senci njegovega dela na področju pedagogike. Znan je predvsem po mladinski povesti Nekoč je bilo jezero (1921, ponatis 1999) in mladinskem romanu Beli dvor (1938, ponatis 1997). Kot literat je pričel objavljati prozo pod psevdonimom Graščan v reviji Domači prijatelj, ki jo je urejala Zofka Kvedrova, v manjši meri pa je pisal tudi poezijo. Napisal je tudi dramo Kaverna, ki so jo leta 1932 postavili na oder Mariborskega gledališča, v rokopisu pa je ostala nedokončana povest o življenju velenjskih rudarjev z naslovom Grbavi plemič.