خطأ متغير أبلي سكريبت

الرد4

مرحبًا بالجميع ،

أحاول كتابة نص تفاح يتم استدعاؤه باستخدام متغير ثم استخدام هذا المتغير في البرنامج النصي. على سبيل المثال:

 عند التشغيل argv
  قم بتعيين a إلى العنصر 1 من argv
  أخبر التطبيق "iTerm-2"
    أخبر النافذة الحالية
      اقول الدورة الحالية
      كتابة نص "ssh" & a
      اقول النهاية
    اقول النهاية
  اقول النهاية
نهاية المدى 

لذلك سيتم استدعاء التطبيق في سطر الأوامر: افتح mypp.app --args machine. سيقوم التطبيق iTerm-2 بفتح وتشغيل الأمر "ssh machine". في الوقت الحالي ، يتم تشغيل iTerm-2 وتشغيل الأمر ssh ولكنه يتجاهل المتغير. هل سميت متغير "أ" خطأ؟

قائمة الإجابات

  1. √إجابة مقبولةتصويت مؤيِّد:6

    هناك شيء مريب يحدث مع الأمر open عند استخدامه مع --args و AppleScript. أقترح عليك تشغيل تطبيقك على النحو التالي لالتقاط العنصر 1 من argv:

    آلة osascript mypp.app

    6
  2. 0

    حسنًا - لقد نجح ذلك! ومع ذلك فأنا أعلى الخور قليلاً الآن. لدي حل برمجي عندما أقوم بتسجيل الدخول إلى تعريف "المشغل" الذي يقوم بتشغيل Terminal Emulator على جهاز Mac الخاص بي. أقوم بتوجيه هذا البرنامج إلى البرنامج النصي الخاص بي والذي كما ترون يطلق المحاكي ويعطيه أمرًا للتشغيل. يقدم هذا البرنامج أيضًا معرّفًا وكلمة مرور كوسيلة يمكن إضافتها إلى الأمر للتشغيل. لسوء الحظ ، يبدو أنه يستخدم "open -a" ولا يمكنني تغيير ذلك. هل يجب أن تعمل -args المفتوحة أم أن هذه مشكلة يجب إصلاحها في المستقبل؟

    0
  3. √إجابة مقبولةتصويت مؤيِّد:6

    يعمل هذا أيضًا على إدخال الآلة في النص. سيظل يعمل بدون كتلة argv قيد التشغيل. استخدم علامات الاقتباس للوسائط التي تحتوي على مسافة بيضاء. يمكنك تكييف هذا لتحليل وسيطات متعددة لأنواع بيانات مختلفة من سطر أوامر واحد.

    - المرجع: unixjunkie.blogspot.com/2006/07/command-line-Processing-in-cocoa.html

    - المرجع: perspx.com/المحفوظات/parsing-command-line-arguments-nsuserdefaults/

    - استدعاء المحطة الطرفية: افتح mypp.app --args -stringArg machine

    استخدم إضافات البرمجة

    استخدم framework "التأسيس"

    في تشغيل argv

    تعيين argx من إلى التطبيق الحالي NSUserDefaults'sstandardUserDefaults ()

    تعيين sarg إلى ( أرجكس stringForKey : "stringArg") كـ نص

    إذا سارج ليس "" إذًا

    مربع حوار العرض sarg

    تنتهي إذا

    end تشغيل

    6
  4. 0

    هذا رائع! أنا 60٪ من الطريق إلى هناك الآن! سآخذ كزة حول آخر الأشياء الليلة. شكرا لك مائة مرة

    0

اترك رد

التفاح الاسلام © 2022.All Rights Reserved.