Swift betikleri (swift shebang) ve komut satırı araçları
Bir shebang ile çalıştırılabilir Swift betikleri oluşturun, CommandLine.arguments değerini okuyun, yardımı yazdırın ve uygun durum kodlarıyla çıkın.
Swift betikleri (swift shebang) ve komut satırı araçları, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.
Neden Swift betikleri?
Swift, bir betik dili olarak kullanılabilir. Dosyaları doğrudan çalıştırmak için bir shebang kullanın, CommandLine.arguments değerlerini ayrıştırın ve otomasyon için durum kodlarıyla çıkın.
Shebang temelleri
İlk satır olarak #!/usr/bin/env swift ekleyin, dosyayı çalıştırılabilir yapın ve ardından herhangi bir kabuk betiği gibi çalıştırın.
// 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!")Bağımsız değişkenleri ayrıştırma
Girdileri okumak için CommandLine.arguments kullanın. Gerekli parametreler eksik olduğunda kısa bir Kullanım iletisi sağlayın.
// 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)!")
}Küçük seçenekler
Bağımlılık kullanmadan küçük seçenekler uygulayın. Yardım iletisini anlaşılır tutun: --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) }Çıkış durumu
Başarı için exit(0), başarısızlıklar için sıfır olmayan bir değer kullanın. Kabuk işlem hatları için hataları stderr'e yazdırın.
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)
}Derleme ve dağıtım
Dağıtım için ikili dosya elde etmek üzere swiftc ile derleyin. Daha büyük CLI'lar için SwiftPM'e ve swift run'a geçin.
// 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).")Shebang'in amacı
Hızlı kontrol: Bir shebang neyi mümkün kılar?
Özet
Özet: Bir shebang ekleyin, CommandLine.arguments değerlerini okuyun, Kullanım iletisini yazdırın ve uygun kodla çıkın. swiftc ile derleyin veya daha büyük araçlar için SwiftPM'e geçin.
Sıkça Sorulan Sorular
“Swift betikleri (swift shebang) ve komut satırı araçları” dersi ücretsiz mi?
Evet — “Swift betikleri (swift shebang) ve komut satırı araçları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.
“Swift betikleri (swift shebang) ve komut satırı araçları” dersinde ne öğreneceğim?
Bir shebang ile çalıştırılabilir Swift betikleri oluşturun, CommandLine.arguments değerini okuyun, yardımı yazdırın ve uygun durum kodlarıyla çıkın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“Swift betikleri (swift shebang) ve komut satırı araçları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Swift betikleri (swift shebang) ve komut satırı araçları
- C/Obj-C birlikte çalışabilirliğine genel bakış (iOS ayrıntıları yok)
- SPM ile ikili dosyaları paketleme