Script.swift
swift-sh
Our great sponsors
Script.swift | swift-sh | |
---|---|---|
1 | 4 | |
2 | 1,771 | |
- | - | |
6.5 | 2.9 | |
about 1 month ago | 2 months ago | |
Swift | Swift | |
MIT License | The Unlicense |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Script.swift
swift-sh
- Ask HN: Share a shell script you like
-
Using Swift for Scripting
Yes, swift CLI will compile and run your swift file.
But many people also want to use libraries. For Python, they use the system libraries or work within an environment with installed libraries (i.e., the library-install process happens at environment-configuration time).
In Swift, the easiest way to consume libraries is using packages, but that requires a Package.swift declaring the project scope for the script file (which must comply with top-level and main-entrypoint code requirements).
The easiest way to do that when scripting is a swift tool that manages the process of gathering your library dependencies, auto-generating a project, building the tool, and caching it all so there's no overhead the next time.
The best available tool now is https://github.com/mxcl/swift-sh. It reads dependency information off import comments.
It can also generate the project for you, if/when you want to build in XCode (e.g., move into a more complex application, perhaps requiring sandbox declarations).
Working scripts are not always updated, so any script-build tool has to maintain backwards compatibility, but the swift package manager has changed a lot in recent versions. swift-sh seems to err on the side of backwards compatibility, and does not support e.g., the most recent dependency versioning styles.
Swift-forum discussions about better support for scripting haven't resulted in any official tooling.
- On Env Shebangs
-
Did anyone tried to run swift on raspberry pi before? I managed to install swift on my raspberry pi and print hello wold. Butbwhen i tried to do the same after 10 seconds it didnt work. Any idea why it didn’t print? DispatchQueue.main.asyncAfter(deadline: .now() + 10) { print(“Hello world”) }
Note that this has nothing to do with the Raspberry Pi. You'll have the same issue running on the command-line. If you wish to test your programs on your computer where you have more tools and horse-power, I find swift-sh gives a good command-line experience and is a great alternative to Playgrounds especially for small tests.
What are some alternatives?
SwiftBar - Powerful macOS menu bar customization tool
resholve - a shell resolver? :) (find and resolve shell script dependencies)
ShellOut - Easily run shell commands from a Swift script or command line tool
stderred - stderr in red
SwifterSwift - A handy collection of more than 500 native Swift extensions to boost your productivity.
dotfiles
Carting - 🚘 A simple tool for updating Carthage script phase
spellbook - 🪄 Shell and Powershell scripts registry
Alamofire - Elegant HTTP Networking in Swift
fuz - Fuzzy search text / notes in the terminal, for any collection of text files
vim-mergetool - Better vim-based mergetool