سؤال

أحتاج إلى تمرير المعلمة إلى التحكم عن بعد نص البرنامج النصي الذي يتم تشغيله

java -cp bsh-2.0b4.jar bsh.Remote http://10.0.0.1/beanshell script.bsh p1 p2 p3

يتصل.

هل من الممكن بطريقة أو بأخرى قراءة Params 'p1'، 'p2' و 'p3' من داخل script.bsh?

PS Params المحلية تمر bsh.args يعمل بشكل جيد، ولكن لا يمكن استخدامها مع البرمجة النصية عن بعد.

هل كانت مفيدة؟

المحلول

أفترض أنك تستخدم الفاصوليا مكتبة. لا توجد طريقة للقيام بذلك، وفقا للمصادر: تستغرق الأداة المساعدة فقط 2 حجما: عنوان URL وسم النص البرنامجي المحلي. حتى أنه لا يدعم العديد من أسماء الملفات النصية، كما تطالب به.

public class Remote
{
    public static void main( String args[] ) throws Exception
    {
          if ( args.length < 2 ) {
                   System.out.println("usage: Remote URL(http|bsh) file [ file ] ... ");
                   System.exit(1);
          }
          String url = args[0];
          String text = getFile(args[1]);
          int ret = eval( url, text );
          System.exit( ret );
    }

أيضا يجب أن يكون جانب الخادم يدرك عن الحجج التي تم تمريرها.

الطرق الخاصة بك:

  1. قم بإنشاء قالب البرنامج النصي، والذي ستحليل فيه الحجج البرنامج النصي وحفظ البرنامج النصي البديل إلى TEMP DIR قبل المرور bsh.Remote
  2. قم بإنشاء ملف بعيد، حيث يمكن أن يقوم البرنامج النصي بقراءة الوسائط منه. تحتاج إلى اتصال إضافي مع موقع بعيد لتحميل هذا الملف قبل الاتصال bsh.Remote.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top