- Notifications
You must be signed in to change notification settings - Fork1
A single executable script format that is operable in both UNIX and WINDOWS environment.
License
ChewKeanHo/PolygotScripts
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This is a reference repo serving as a sharing and quality control for my polygotscripts:The same script can be operated in both UNIX and WINDOWS OSes. Thisscript is generally used various multi-system distributions and fleet controlinitialization where maintaining multi-OSes end products can be easily done.
Mainly for multi-os decentralized packaging usage:
- 1 common starting point - less communication errors; more control overthe package installation.
- Maintainable and documentable - 1 single start point; 1 set ofdocumentation only; 1 easy way to maintain the starting point command.
- Simple and modular - can easily drill down the errors due tomodularization and use the most basic commands available in both OSes.
The products are located in the root repository in various versions:
posix-batch-powershell.sh.ps1.cmd -capable of running in:
- POSIX Shell mode; AND
- BATCH mode; AND
- POWERSHELL mode.
posix-batch.sh.cmd - capable of running in:
- POSIX Shell mode; AND
- BATCH mode; AND
Note
PowerShell knows how to execute batch script. No auto-correction isrequired.
- posix-powershell.sh.cmd - capable of running in:
- POSIX Shell mode; AND
- POWERSHELL mode.
Important
When executed in Batch mode, it will auto-correct itself to PowerShell andexecute it from there.
- posix-powershell.sh.ps1 - capable of running in:
- POSIX Shell mode; AND
- POWERSHELL mode.
While UNIX systems do not demand for file extensions, Windows do have itscomplex and heavy requirement for it. As a practice, the file extension shallalways be lead by the UNIX (.sh*) and ends with Windows (either*.cmd forBatch initialization or*.ps1 for PowerShell initialization).
For the highest portability, I recommend keeping the initialization with Batchmode since its execution can auto-correct to PowerShell mode when available(Referposix-powershell.sh.ps1 for how it's done).
Hence, this is the Polygot script's file extension I would recommend:
filename.sh.ps1.cmd # start by Batchfilename.sh.cmd.ps1 # start by PowerShellfilename.sh.cmdfilename.sh.ps1It is always advisable to keep this script as simple as calling the OS-specificinitializing command rather than develop afat binary like executable script.
In case you don't know, coding all 3 types of scripts and compile into 1manually can be a cumbersome task as the output file can easily become 3xlarger. Should it be too complex, you should use proper programming languageslike Go or Rust.
PleaseDO NOT abuse it. You have been warned!
This project is licensed underMIT License.
About
A single executable script format that is operable in both UNIX and WINDOWS environment.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.