Mashrafe stepped down as ODI captain this week after the third and final ODI of a three-match series against Zimbabwe.
"The board has unanimously selected Tamim Iqbal as our new ODI captain," Bangladesh Cricket Board President Nazmul Hassan announced at a press conference after a meeting of the governing body's board of directors.
"We thought of appointing a captain for a short duration and then giving the job to someone else next year. But we finally decided against a short-term appointment. We hope Tamim would serve for a long term," he added.
Tamim's appointment sees Bangladesh having three separate captains for the three different formats once more with Mahmudullah Riyad leading in T20Is and Mominul Haque in Tests.