You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Julian Noble a646f1089f punk-runtime use accepts suffixless names; make.tcl bake materialization staleness guard 1 week ago
..
bin punk-runtime use accepts suffixless names; make.tcl bake materialization staleness guard 1 week ago
tools punknative generator: nav index, per-form arg tables, terminal-black backdrop, integer row pitch 3 weeks ago
wrappers misc scriptapps and file/folder organisation 10 months ago
AGENTS.md G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
README.md src/scriptapps/README.md 10 months ago
argsrecord.tcl
argsrecord.txt
dtplite.tcl doc: restore 'dev doc.validate' - wrap tcllib dtplite as bin/dtplite.cmd 3 weeks ago
dtplite_wrap.toml doc: restore 'dev doc.validate' - wrap tcllib dtplite as bin/dtplite.cmd 3 weeks ago
example.sh make.tcl fixes and scriptwrap fixes, sdx.kit 1 year ago
example.tcl make.tcl fixes and scriptwrap fixes, sdx.kit 1 year ago
example_wrap.toml make.tcl and console rawmode fixes 11 months ago
fetchruntime.bash change fetchruntime script to download to appropriate os-arch folder under bin/runtime 11 months ago
fetchruntime.ps1 scriptapps misc 1 month ago
fetchruntime.tcl update fetchruntime and getzig scripts 11 months ago
fetchruntime_bits.ps1 scriptapps misc 1 month ago
fetchruntime_old.ps1 scriptapps misc 1 month ago
fetchruntime_wrap.toml scriptapps misc 1 month ago
getpunk.bash update multishell scriptsapps 11 months ago
getpunk.ps1 scriptapps update 10 months ago
getpunk_wrap.toml scriptapps update 10 months ago
kettle.tcl
punk-bits.pl G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-bits.ps1 G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-bits.sh G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-bits_wrap.toml G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-create-localmachine-selfsigned-cert.ps1 G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-selfsign.ps1 G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-selfsign_wrap.toml G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-tclargs.tcl G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk-tclargs_wrap.toml G-097: bin utility naming sweep - punk-bits, punk-runtime, punk-tclargs, selfsign 2 weeks ago
punk.tcl scriptapps misc 1 month ago
tcltm.tcl scriptapps misc 1 month ago
wrapfiletofile.tcl

README.md

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.