I have this bash script for converting .mp4 video to .mp3 audio.
It runs, but does the loop only once, though there are more mp4 files in /ho
From the comments we got that there actually are input files you are looping over (of what kind soever) and that ffmpeg at least starts once. Then, you are stuck.
Add
&> ffmpeg.outerr < /dev/null
to your ffmpeg command and monitor the file ffmpeg.outerr while your "loop", i.e. ffmpeg, executes. It will tell you what the problem is. Either you can solve this problem yourself, or you come back to stackoverflow with this ffmpeg-specific problem using the tag ffmpeg.