Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: darwin20.5.0 Compiler: gcc Compilation CFLAGS: -g -O2 -Wno-parentheses -Wno-format-security uname output: Darwin Georges-Mac-Pro.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:33 PDT 2021; root:xnu-7195.121.3~9/RELEASE_X86_64 x86_64 Machine Type: x86_64-apple-darwin20.5.0
Bash Version: 5.1 Patch Level: 8 Release Status: release Description: Defining an alias named `done` breaks parsing a for loop that does not have an `in word` clause. Repeat-By: Run the following script. It fails with this error: myscript.bash: line 7: syntax error near unexpected token `done' myscript.bash: line 7: ` done' #!/bin/bash alias done="" f() { for var; do done } Fix: `done` should not be considered a simple command in the context where it would terminate a for loop. Alternately, prevent the user from creating aliases that will cause problems like this.