نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر
أنشئ نصوص Swift قابلة للتشغيل باستخدام shebang ، واقرأ CommandLine.arguments ، واطبع المساعدة، واخرج برموز حالة مناسبة.
نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 3 دروس في المجموع.
لماذا نستخدم نصوص Swift؟
يمكن استخدام Swift كلغة للبرمجة النصية. استخدم shebang لتشغيل الملفات مباشرةً، وحلّل CommandLine.arguments، واخرج برموز حالة لأغراض الأتمتة.
أساسيات Shebang
أضف #!/usr/bin/env swift كسطر أول، واجعل الملف قابلًا للتنفيذ، ثم شغّله مثل أي نص برمجي للقشرة.
// 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!")تحليل الوسائط
استخدم CommandLine.arguments لقراءة المدخلات. وقدّم رسالة 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)!")
}خيارات صغيرة
نفّذ الخيارات الصغيرة دون تبعيات. واجعل المساعدة واضحة: --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) }حالة الخروج
استخدم exit(0) عند النجاح، وقيمة غير صفرية عند الفشل. اطبع الأخطاء إلى stderr لتناسب مسارات معالجة أوامر القشرة.
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)
}الترجمة والتوزيع
للتوزيع، نفّذ الترجمة باستخدام swiftc للحصول على ملف ثنائي. وبالنسبة إلى واجهات سطر الأوامر الأكبر، انتقل إلى SwiftPM و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).")الغرض من Shebang
تحقق سريع: ما الذي يتيحه shebang؟
مراجعة
مراجعة: أضف shebang، واقرأ CommandLine.arguments، واطبع Usage، واخرج برموز الحالة المناسبة. ترجم باستخدام swiftc أو انتقل إلى SwiftPM للأدوات الأكبر.
الأسئلة الشائعة
هل درس «نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر» مجاني؟
نعم — نص درس «نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 3 دروس في المجموع.
ماذا ستتعلم في «نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر»؟
أنشئ نصوص Swift قابلة للتشغيل باستخدام shebang ، واقرأ CommandLine.arguments ، واطبع المساعدة، واخرج برموز حالة مناسبة. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نصوص Swift البرمجية (swift shebang) وأدوات سطر الأوامر
- لمحة عن التكامل بين C وObj-C (من دون تفاصيل iOS)
- تغليف الملفات الثنائية باستخدام SPM