Open7
macOSのコマンドをswiftで実行
aws cliのコマンドとかも叩きたい。
公式
Process
launchなどはdeprecatedになっている
とりあえず動くやつ
- 出力は標準出力で出てる
import Cocoa
import Foundation
@discardableResult
func shell(_ url: URL, _ args: String...) throws -> Int32 {
let task = Process()
task.arguments = args
task.executableURL = url
try task.run()
task.waitUntilExit()
return task.terminationStatus
}
let url = URL(fileURLWithPath: "/usr/bin/env")
try shell(url, "ls")
- envコマンドはコマンドを実行することが可能
- 基本的には一時的に環境変数を設定してコマンドを実施するイメージ
- 普通にenvと打つと
printenv
と同じように環境変数を表示する
? なんでenvコマンド必要?
関係ないけどこれ良さそう
PATH設定はされているわけではないので注意