-
-
Notifications
You must be signed in to change notification settings - Fork 723
Open
Description
Description
In version 3.44.1, commit d2bd834 introduced an escape
function that incorrectly escapes curly braces {
and }
in shell commands. This breaks brace expansion functionality, causing commands like ls file.{txt,md} to fail because the braces are escaped to \{
and \}
, preventing shell expansion.
Steps to Reproduce
- Create a Taskfile.yaml with brace expansion as shown in the "Example Taskfile"
- Run the task:
task
Expected behavior
The first command should create file.txt
and file.md
, and the second command should find and list these files.
Actual Behavior
The brace expansion is broken due to escaping, so the commands fail to work as intended. The ls
command looks for a literal file named file.{txt,md}
instead of expanding to file.txt
and file.md
.
Version
3.44.1
Operating system
Ubuntu 22.04.5 LTS (Jammy Jellyfish) # $ bash --version GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
Experiments Enabled
No response
Example Taskfile
version: "3"
tasks:
default:
cmds:
- "touch file.{txt,md}"
- >-
ls "file."{txt,md} || echo 'Files not found'
Metadata
Metadata
Assignees
Labels
No labels