0Pricing
Swift Academy · Lezione

Script Swift (shebang Swift) e strumenti da riga di comando

Crei script Swift eseguibili con uno shebang , legga CommandLine.arguments , stampi l'help ed esca con codici di stato corretti.

Script Swift (shebang Swift) e strumenti da riga di comando è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 3 lezioni in totale.

Perché usare gli script Swift?

Swift può essere usato come linguaggio di scripting. Usi uno shebang per eseguire direttamente i file, analizzi CommandLine.arguments ed esca con codici di stato per l'automazione.

Nozioni di base dello shebang

Aggiunga #!/usr/bin/env swift come prima riga, renda eseguibile il file, quindi lo esegua come un qualsiasi script shell.

// 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!")

Analisi degli argomenti

Usi CommandLine.arguments per leggere gli input. Fornisca un breve messaggio Usage quando mancano parametri obbligatori.

// 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)!")
}

Opzioni minime

Implementi piccoli flag senza dipendenze. Mantenga chiaro l'help: --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) }

Codice di uscita

Usi exit(0) per indicare il successo e un valore diverso da zero per gli errori. Stampi gli errori su stderr per le pipeline shell.

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)
}

Compilazione e distribuzione

Per distribuire il programma, compili con swiftc per ottenere un binario. Per CLI più grandi, passi a SwiftPM e 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).")

Scopo dello shebang

Verifica rapida: Che cosa consente uno shebang?

Riepilogo

Riepilogo: Aggiunga uno shebang, legga CommandLine.arguments, stampi Usage ed esca con codici appropriati. Compili con swiftc oppure passi a SwiftPM per gli strumenti più grandi.

Domande Frequenti

La lezione «Script Swift (shebang Swift) e strumenti da riga di comando» è gratuita?

Sì — il testo completo di «Script Swift (shebang Swift) e strumenti da riga di comando» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 3 lezioni in totale.

Cosa imparerò in «Script Swift (shebang Swift) e strumenti da riga di comando»?

Crei script Swift eseguibili con uno shebang , legga CommandLine.arguments , stampi l'help ed esca con codici di stato corretti. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «Script Swift (shebang Swift) e strumenti da riga di comando»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Script Swift (shebang Swift) e strumenti da riga di comando
  2. Interoperabilità C/Obj-C in sintesi (senza dettagli iOS)
  3. Creare pacchetti binari con SPM
← Torna a Swift Academy