The correct single-line while loop syntax in shell is 'while command ; do list ; done'. The semicolons allow placing the do and done keywords on the same line as commands. Option D has the proper syntax with semicolons in all required positions. Options A and C are missing semicolons, while B is missing 'done'.