Nathan Lyon dismissed Shakib for 84 runs at the stroke of tea as the hosts reached 190-5 after electing to bat first at the rain-soaked Sher-e-Bangla National Stadium.
Shakib added 155 runs with Tamim Iqbal (71) for the fourth wicket to steady the innings after Pat Cummins rocked the side with a three-wicket burst in the morning.
Occasional spinner Glenn Maxwell broke their resilience when he forced Tamim to cut one loose at backward point where David Warner took the catch.
Shakib's scalp saw Lyon equal Richie Benaud's Test haul of 248 wickets, the second best figure for an Australian spinner after Shane Warne.
Also Read
Mushfiqur Rahim saw off the session and was batting on 12 with Nasir Hossain who has yet to score.
Bangladesh, playing Australia in a Test for the first time in a decade, suffered an early setback as Cummins unleashed a fierce spell of fast bowling.
In his next over he removed Imrul Kayes and Sabbir Rahman for nought off successive deliveries to reduce Bangladesh to 10 for 3.
Imrul attempted a drive without moving his feet and got an inside edge that was taken comfortably by wicketkeeper Mathew Wade.
The next ball swung late to find a thick edge of Sabbir's bat, with the decision upheld after a futile review of the on-field decision by umpire Aleem Dar.
Disclaimer: No Business Standard Journalist was involved in creation of this content