SwiftShell

A Swift module for shell scripting.

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/swiftshell to your bin folder or anywhere in your PATH.
  • To install the framework, either:
    • run xcodebuild install from the project's root folder. This will install the SwiftShell framework in ~/Library/Frameworks.
    • or run xcodebuild and 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.

Examples

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
}

Pipe several commands together

#!/usr/bin/env swiftshell

import SwiftShell

run("echo this is streamed") |> run("wc -w") |> standardoutput 

LICENSE

Copyright (c) 2014 Kåre Morstøl (NotTooBad Software). All rights reserved. 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

S
Description
A Swift framework for shell scripting.
Readme 3.5 MiB
Languages
Swift 96.1%
Shell 2.9%
Ruby 1%