676f91befb91118b168e16af8a25126d849460cc
SwiftShell
A Swift module for shell scripting.
Usage
Pipe several commands together
#!/usr/bin/env swiftshell
import SwiftShell
run("echo this is streamed") |> run("wc -w") |> standardoutput
Read a file line by line
#!/usr/bin/env swiftshell
import SwiftShell
for line in open("../shorttext.txt").lines() {
// Do something with each line
}
Print standard input with line numbers
#!/usr/bin/env swiftshell
import SwiftShell
var i = 1
for line in standardinput.lines() {
print("line \(i++): ")
println(line)
}
Launch with e.g. ls | print_linenumbers.swift
List all executables in PATH
#!/usr/bin/env swiftshell
import SwiftShell
let directories = environment["PATH"]!.split(":")
for directory in directories {
run("find \"\(directory)\" -type f -perm +ugo+x -print") |> standardoutput
}
Installation
-
In the Terminal, go to where you want to download SwiftShell.
-
Run
git clone https://github.com/kareman/SwiftShell.git cd SwiftShell -
Copy/link
Div/swiftshellto your bin folder or anywhere in your PATH. -
To install the framework, either:
- run
xcodebuild installfrom the project's root folder. This will install the SwiftShell framework in ~/Library/Frameworks. - or run
xcodebuildand copy the resulting framework from the build folder to your library folder of choice. If that is not "~/Library/Frameworks", "/Library/Frameworks" or a folder mentioned in the $DYLD_FRAMEWORK_PATH environment variable then you need to add your folder to $DYLD_FRAMEWORK_PATH.
- run
LICENSE
This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
If you want to use this project together with a different project with an incompatible license, send a message on GitHub and we will see what we can do.
Description
Languages
Swift
96.1%
Shell
2.9%
Ruby
1%