The 30-year-old had scored six goals in 27 matches for Micky Mellon's side this season after joining from Peterborough in February 2015.
But he had only started one game for Shrewsbury since 31 October.
He is the second striker to leave Shrewsbury in the past week, following James Collins' move to Northampton.
"I think Phil Brown has had an interest before I signed for Shrewsbury and once he saw I wasn't getting many games, he put an interest in me and that's how it's come about," Barnett told BBC Essex.
"I liked playing against Southend (earlier this season). They play good football and get a lot of good balls into the box. I was thinking at some stage I'd like to be on the end of them - now that I'm here hopefully it'll be the same."
Find all the latest football transfers on our dedicated page.
Southend United have signed striker Tyrone Barnett on loan from League One rivals Shrewsbury Town for the rest of the season.