Not only that. But you need to pass the full project path. The script currently breaks otherwise.
% pwd
~/GameProject
% /Users/Shared/Epic\ Games/UE_5.4/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh GameProject.uproject
Setting up Unreal Engine project files...
Setting up bundled DotNet SDK
/Users/Shared/Epic Games/UE_5.4/Engine/Build/BatchFiles/Mac/../../../Binaries/ThirdParty/DotNet/6.0.302/mac-arm64
Log file: ~/Library/Application Support/Epic/UnrealBuildTool/Log_GPF.txt
Total execution time: 0.37 seconds
Unhandled exception: System.Exception: Unable to find project file based on argument yourproject.uproject
at UnrealBuildTool.GenerateProjectFilesMode.TryParseProjectFileArgument(CommandLineArguments Arguments, ILogger Logger, FileReference& ProjectFile) in /Users/build/Build/++UE5/Sync/Engine/Saved/CsTools/Engine/Source/Programs/UnrealBuildTool/Modes/GenerateProjectFilesMode.cs:line 325
at UnrealBuildTool.GenerateProjectFilesMode.ExecuteAsync(CommandLineArguments Arguments, ILogger Logger) in /Users/build/Build/++UE5/Sync/Engine/Saved/CsTools/Engine/Source/Programs/UnrealBuildTool/Modes/GenerateProjectFilesMode.cs:line 82
at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in /Users/build/Build/++UE5/Sync/Engine/Saved/CsTools/Engine/Source/Programs/UnrealBuildTool/UnrealBuildTool.cs:line 660
% pwd
~/GameProject
% /Users/Shared/Epic\ Games/UE_5.4/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh ~/Dev/GameProject/GameProject.uproject
Setting up Unreal Engine project files...
... <clipped output to keep it short>
Writing project files... 100%
Generating QueryTargets data for editor...
Total execution time: 8.83 seconds