0Pricing
Swift Academy · Lektion

Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge

Erstellen Sie mit einem shebang ausführbare Swift-Skripte, lesen Sie CommandLine.arguments , geben Sie Hilfe aus und beenden Sie das Programm mit korrekten Statuscodes.

Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 3 Lektionen.

Warum Swift-Skripte?

Swift kann als Scripting-Sprache dienen. Verwenden Sie einen Shebang, um Dateien direkt auszuführen, analysieren Sie CommandLine.arguments und beenden Sie das Programm für die Automatisierung mit Statuscodes.

Shebang-Grundlagen

Fügen Sie #!/usr/bin/env swift als erste Zeile ein, machen Sie die Datei ausführbar und führen Sie sie anschließend wie jedes Shell-Skript aus.

// First line (shebang) when saved to a file:
// #!/usr/bin/env swift
// Then mark file executable: chmod +x tool.swift
// Run directly: ./tool.swift

print("Hello from a Swift script!")

Argumente verarbeiten

Verwenden Sie CommandLine.arguments, um Eingaben einzulesen. Geben Sie eine kurze Usage-Meldung aus, wenn erforderliche Parameter fehlen.

// Parse arguments: CommandLine.arguments[0] is the script path.
let args = CommandLine.arguments.dropFirst()  // ignore script name
if args.isEmpty {
    print("Usage: greet.swift <name>")
} else {
    let name = args[args.startIndex]
    print("Hello, \\(name)!")
}

Kleine Optionen

Implementieren Sie kleine Flags ohne Abhängigkeiten. Halten Sie die Hilfe verständlich: --help, --times N, --shout.

// Very small options parser: --shout and --times
struct Options {
    var shout = false
    var times = 1
    var rest: [String] = []
}

func parse(_ raw: ArraySlice<String>) -> Options {
    var o = Options()
    var it = raw.makeIterator()
    while let token = it.next() {
        switch token {
        case "--help", "-h":
            print("Usage: echo.swift [--shout] [--times N] <text>")
            exit(0)
        case "--shout":
            o.shout = true
        case "--times":
            if let nStr = it.next(), let n = Int(nStr), n > 0 { o.times = n }
        default:
            o.rest.append(token)
        }
    }
    return o
}

let options = parse(CommandLine.arguments.dropFirst())
let text = options.rest.joined(separator: " ").isEmpty ? "echo" : options.rest.joined(separator: " ")
let output = options.shout ? text.uppercased() : text
for _ in 0..<options.times { print(output) }

Exit-Status

Verwenden Sie exit(0) bei Erfolg und einen Wert ungleich null bei Fehlern. Geben Sie Fehler für Shell-Pipelines auf stderr aus.

import Foundation

enum CLIError: Error { case invalidInput }

func validateNumber(_ s: String) throws -> Int {
    guard let n = Int(s) else { throw CLIError.invalidInput }
    return n
}

let args2 = CommandLine.arguments.dropFirst()
do {
    guard let first = args2.first else {
        print("Usage: num.swift <int>"); exit(64) // EX_USAGE
    }
    let n = try validateNumber(first)
    print("ok:", n)
    exit(0)
} catch {
    fputs("error: \\(error)\\n", stderr)
    exit(1)
}

Kompilieren und verteilen

Kompilieren Sie für die Verteilung mit swiftc, um eine Binärdatei zu erzeugen. Wechseln Sie bei größeren CLIs zu SwiftPM und swift run.

// You can compile a single-file tool:
// swiftc tool.swift -o tool
// ./tool --help
print("Tip: use swiftc to build a tiny binary; for multi-file CLIs prefer SwiftPM (swift package init).")

Zweck eines Shebangs

Kurzprüfung: Was ermöglicht ein Shebang?

Zusammenfassung

Zusammenfassung: Fügen Sie einen Shebang hinzu, lesen Sie CommandLine.arguments ein, geben Sie Usage aus und beenden Sie das Programm mit passenden Statuscodes. Kompilieren Sie mit swiftc oder wechseln Sie für größere Tools zu SwiftPM.

Häufig gestellte Fragen

Ist die Lektion „Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge“ kostenlos?

Ja — der vollständige Text von „Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge“?

Erstellen Sie mit einem shebang ausführbare Swift-Skripte, lesen Sie CommandLine.arguments , geben Sie Hilfe aus und beenden Sie das Programm mit korrekten Statuscodes. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.

Wie lange dauert die Lektion „Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Swift-Skripte (Swift-Shebang), Kommandozeilenwerkzeuge
  2. C-/Obj-C-Interop im Überblick (ohne iOS-spezifische Inhalte)
  3. Binärdateien mit SPM paketieren
← Zurück zu Swift Academy