private bool CreateBinFile(PackageInfo packageInfo) { if (packageInfo == null || !packageInfo.Commands.Any()) { return(false); } foreach (var command in packageInfo.Commands) { var binFile = commandDirectory.GetBinFile(command.Name + (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".cmd" : "")); var relativeMainFileName = commandDirectory.MakeRelativeToBaseDir(command.ExecutableFilePath); File.WriteAllText(binFile, RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? $@"@""%~dp0\{relativeMainFileName}"" %*" : $"#!/usr/bin/env bash{Environment.NewLine}. \"$( cd \"$( dirname \"${{BASH_SOURCE[0]}}\" )\" && pwd )/{relativeMainFileName}\" \"$@\""); WriteLineIfVerbose($"Wrote redirect file '{binFile}' pointing to '{relativeMainFileName}'."); } return(true); }