Scripts Swift (shebang Swift) et outils en ligne de commande
Créez des scripts Swift exécutables avec un shebang , lisez CommandLine.arguments , affichez l’aide et quittez avec les codes d’état appropriés.
Scripts Swift (shebang Swift) et outils en ligne de commande est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 3 leçons au total.
Pourquoi utiliser des scripts Swift ?
Swift peut servir de langage de script. Utilisez un shebang pour exécuter directement des fichiers, analysez CommandLine.arguments et quittez avec des codes d’état pour l’automatisation.
Notions de base du shebang
Ajoutez #!/usr/bin/env swift comme première ligne, rendez le fichier exécutable, puis exécutez-le comme n’importe quel 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!")Analyse des arguments
Utilisez CommandLine.arguments pour lire les entrées. Affichez un court message d’utilisation lorsque des paramètres obligatoires sont manquants.
// 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)!")
}Options simples
Implémentez de petites options sans dépendances. Gardez l’aide claire : --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) }Code de sortie
Utilisez exit(0) en cas de réussite et une valeur différente de zéro en cas d’échec. Affichez les erreurs sur stderr pour les chaînes de traitement du 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)
}Compiler et distribuer
Pour distribuer votre programme, compilez-le avec swiftc afin d’obtenir un binaire. Pour les interfaces en ligne de commande plus importantes, passez à SwiftPM et à 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).")Rôle du shebang
Vérification rapide : que permet un shebang ?
Récapitulatif
Récapitulatif : ajoutez un shebang, lisez CommandLine.arguments, affichez l’utilisation et quittez avec les codes appropriés. Compilez avec swiftc ou passez à SwiftPM pour les outils plus importants.
Questions Fréquemment Posées
La leçon « Scripts Swift (shebang Swift) et outils en ligne de commande » est-elle gratuite ?
Oui — le texte complet de « Scripts Swift (shebang Swift) et outils en ligne de commande » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Scripts Swift (shebang Swift) et outils en ligne de commande » ?
Créez des scripts Swift exécutables avec un shebang , lisez CommandLine.arguments , affichez l’aide et quittez avec les codes d’état appropriés. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.
Combien de temps prend la leçon « Scripts Swift (shebang Swift) et outils en ligne de commande » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Scripts Swift (shebang Swift) et outils en ligne de commande
- Interopérabilité C/Obj-C en bref (sans spécificités iOS)
- Empaqueter des binaires avec SPM