From fcef7b691ec16c001881cecbb2fc262dd26b08a0 Mon Sep 17 00:00:00 2001 From: Julian Noble Date: Wed, 1 Oct 2025 17:51:14 +1000 Subject: [PATCH] src/scriptapps/README.md --- src/scriptapps/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/scriptapps/README.md diff --git a/src/scriptapps/README.md b/src/scriptapps/README.md new file mode 100644 index 00000000..2160e868 --- /dev/null +++ b/src/scriptapps/README.md @@ -0,0 +1,20 @@ +Create multishell scripts from your .tcl .sh and .ps1 scripts that are stored here. + +Use the deck scriptwrap commands to generate a multishell .cmd file from your scripts. +This .cmd is a 'polyglot' script - it should run when called from any of the target interpreters. + + +A multishell .cmd file is a cross-platform script that can easily be run on Windows and unix-like platforms. + +The .cmd extension is primarily a convenience so that it can be run easily by name on windows but it is ok to either leave it as that on other platforms, or rename it appropriately. + +On unix-like platforms it can be called with a bourne shell such as sh or bash. + +On windows, it can also be called with sh or bash if they are available - but the usual method would be to run it under cmd.exe initially just by opening a cmd prompt and running it. +This will run some windows batch script to automatically generate a corresponding .ps1 file and execution will switch to powershell 5 or powershell 7 (pwsh) if available. +Subsequently the command can be run directly from powershell. + +Whether called from Bourne shell, or cmd.exe or powershell - the usual payload would be your wrapped Tcl code - but it's also possible for powershell or sh/bash to be the primary payload script. +Any of these languages could easily be used to detect and launch other scripts/utilities that you may distribute with your app. + +