The lack of information in this post made this a weirdly appealing challenge for me. First, off to a robot translator who told me that the language is Malay, and divined that "batas" means "limit" or "boundary", genap means "even", ganjil means "odd" and the warning message roughly reads "Ops, can not be empty or Limit loop must be >= 0".
So the code requests an input value, checks to make sure the value is not empty and is zero or greater, and then, when you run it -- it loops infinitely and barfs zeros to the terminal. Since I'm not sure what the coder's ultimate goals are, I can't be sure I've "fixed" it just the right way, but by moving the line "let i=i+1;" out of the "else" statement, instead of looping infinitely, it counts from zero to the entered loop limit and outputs the count. It also counts the number of even and odd numbers it encounters along the way. The code, as is, does nothing with these counts. Maybe it's a snippet of a larger piece of code. Maybe it's a toy program written by someone experimenting for the fun of it. Anyway, here's a "translated" version that adds lines outputting the even and odd counts:
echo -n "Limit of loop : ";
if [ -z $loop_lim ] | [ $loop_lim -lt 0 ]; then
echo "Ops, Limit of loop cannot be empty and must be >= 0";
while [ $i -le $loop_lim ]; do
echo -n "$i,";
if [ `expr $i % 2` -eq 0 ]; then