Scripts de Swift (shebang de swift) y herramientas de línea de comandos
Cree scripts de Swift ejecutables con un shebang , lea CommandLine.arguments , muestre la ayuda y salga con los códigos de estado adecuados.
Scripts de Swift (shebang de swift) y herramientas de línea de comandos es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 3 lecciones en total.
¿Por qué usar scripts de Swift?
Swift puede funcionar como lenguaje de scripting. Use un shebang para ejecutar archivos directamente, analice CommandLine.arguments y salga con códigos de estado para la automatización.
Conceptos básicos del shebang
Añada #!/usr/bin/env swift como primera línea, haga ejecutable el archivo y ejecútelo como cualquier script de 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!")Análisis de argumentos
Use CommandLine.arguments para leer las entradas. Muestre un mensaje breve de Usage cuando falten parámetros obligatorios.
// 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)!")
}Opciones básicas
Implemente flags pequeños sin dependencias. Mantenga clara la ayuda: --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) }Código de salida
Use exit(0) si todo va bien y un valor distinto de cero si hay errores. Imprima los errores en stderr para los pipelines del 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)
}Compilar y distribuir
Para distribuirlo, compile con swiftc para obtener un binario. Para CLI más grandes, pase a SwiftPM y 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).")Propósito del shebang
Comprobación rápida: ¿Qué permite hacer un shebang?
Repaso
Repaso: Añada un shebang, lea CommandLine.arguments, muestre Usage y salga con los códigos adecuados. Compile con swiftc o pase a SwiftPM para herramientas más grandes.
Aprende Swift con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 122
- Lecciones
- 409
Preguntas frecuentes
¿La lección «Scripts de Swift (shebang de swift) y herramientas de línea de comandos» es gratis?
Sí — el texto completo de «Scripts de Swift (shebang de swift) y herramientas de línea de comandos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Scripts de Swift (shebang de swift) y herramientas de línea de comandos»?
Cree scripts de Swift ejecutables con un shebang , lea CommandLine.arguments , muestre la ayuda y salga con los códigos de estado adecuados. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.
¿Cuánto tiempo toma la lección «Scripts de Swift (shebang de swift) y herramientas de línea de comandos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Scripts de Swift (shebang de swift) y herramientas de línea de comandos
- Interoperabilidad con C/Obj-C de un vistazo (sin aspectos específicos de iOS)
- Empaquetar binarios con SPM