Skrypty Swift (swift shebang) i narzędzia wiersza poleceń
Twórz uruchamialne skrypty Swift z użyciem shebang , odczytuj CommandLine.arguments , wyświetlaj pomoc i kończ działanie z właściwymi kodami statusu.
Skrypty Swift (swift shebang) i narzędzia wiersza poleceń to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 3 lekcji w sumie.
Dlaczego skrypty Swift?
Swift może pełnić rolę języka skryptowego. Należy użyć shebang, aby uruchamiać pliki bezpośrednio, analizować CommandLine.arguments i kończyć działanie kodami statusu na potrzeby automatyzacji.
Podstawy shebangu
Należy dodać #!/usr/bin/env swift jako pierwszy wiersz, nadać plikowi uprawnienia do wykonywania, a następnie uruchamiać go jak dowolny skrypt powłoki.
// 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!")Analizowanie argumentów
Należy używać CommandLine.arguments do odczytywania danych wejściowych. Gdy brakuje wymaganych parametrów, należy wyświetlić krótki komunikat Usage.
// 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)!")
}Niewielkie opcje
Należy implementować proste flagi bez dodatkowych zależności. Pomoc powinna być przejrzysta: --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) }Status wyjścia
Należy używać exit(0) w przypadku sukcesu, a w przypadku błędów — wartości niezerowych. Błędy należy wypisywać do stderr, aby poprawnie działały potoki powłoki.
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)
}Kompilowanie i dystrybucja
W celu dystrybucji należy skompilować program za pomocą swiftc, aby uzyskać plik binarny. W przypadku większych interfejsów CLI należy przejść na SwiftPM i używać 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).")Przeznaczenie shebangu
Szybkie sprawdzenie: Co umożliwia shebang?
Podsumowanie
Podsumowanie: Należy dodać shebang, odczytywać CommandLine.arguments, wyświetlać Usage i kończyć działanie odpowiednimi kodami. Program można kompilować za pomocą swiftc albo przejść na SwiftPM w przypadku większych narzędzi.
Często zadawane pytania
Czy lekcja „Skrypty Swift (swift shebang) i narzędzia wiersza poleceń” jest bezpłatna?
Tak — pełny tekst „Skrypty Swift (swift shebang) i narzędzia wiersza poleceń” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Skrypty Swift (swift shebang) i narzędzia wiersza poleceń”?
Twórz uruchamialne skrypty Swift z użyciem shebang , odczytuj CommandLine.arguments , wyświetlaj pomoc i kończ działanie z właściwymi kodami statusu. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „Skrypty Swift (swift shebang) i narzędzia wiersza poleceń”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Skrypty Swift (swift shebang) i narzędzia wiersza poleceń
- Współpraca z C/Obj-C w skrócie (bez szczegółów iOS)
- Pakowanie plików binarnych za pomocą SPM